{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "machineHack_weekend_19.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU",
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "b2bfcd4ac76e495ca31064bc7876041b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_425cd92f3c904a8ab278ab5863e1695a",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_93ce70d6ec9340bcacf2c8ff2135ae72",
              "IPY_MODEL_b4e18b0b524c47caaa443b5cb34fea05"
            ]
          }
        },
        "425cd92f3c904a8ab278ab5863e1695a": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "93ce70d6ec9340bcacf2c8ff2135ae72": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_3dc97c159e9a4469b0e1c34ed921b54b",
            "_dom_classes": [],
            "description": "Batches: 100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
            "max": 143,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 143,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_b19b6b2e855241c59d2eea43329bf69b"
          }
        },
        "b4e18b0b524c47caaa443b5cb34fea05": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_efd9f88490e34a71a43214449baace68",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 143/143 [04:54&lt;00:00,  2.06s/it]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_2c0cb5298b4343168fc4f047125903af"
          }
        },
        "3dc97c159e9a4469b0e1c34ed921b54b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "b19b6b2e855241c59d2eea43329bf69b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "efd9f88490e34a71a43214449baace68": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "2c0cb5298b4343168fc4f047125903af": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "a11cc23b628e43e5934ff2228849112a": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "state": {
            "_view_name": "HBoxView",
            "_dom_classes": [],
            "_model_name": "HBoxModel",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "box_style": "",
            "layout": "IPY_MODEL_c08cef05dbc24829a7500a29f339e0c3",
            "_model_module": "@jupyter-widgets/controls",
            "children": [
              "IPY_MODEL_57c7e612be9d40a48a1456ac37660c3b",
              "IPY_MODEL_033b3b29c31f4188addf24e33554e20c"
            ]
          }
        },
        "c08cef05dbc24829a7500a29f339e0c3": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "57c7e612be9d40a48a1456ac37660c3b": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "state": {
            "_view_name": "ProgressView",
            "style": "IPY_MODEL_8730b8c20724426c9c23e72c7b3b9cc7",
            "_dom_classes": [],
            "description": "Batches: 100%",
            "_model_name": "FloatProgressModel",
            "bar_style": "success",
            "max": 72,
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": 72,
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "orientation": "horizontal",
            "min": 0,
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_4e6f4688b7384b9ba9c9d296c081da84"
          }
        },
        "033b3b29c31f4188addf24e33554e20c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "state": {
            "_view_name": "HTMLView",
            "style": "IPY_MODEL_a087660694eb4cf196fd7d1aa9461578",
            "_dom_classes": [],
            "description": "",
            "_model_name": "HTMLModel",
            "placeholder": "​",
            "_view_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "value": " 72/72 [05:53&lt;00:00,  4.91s/it]",
            "_view_count": null,
            "_view_module_version": "1.5.0",
            "description_tooltip": null,
            "_model_module": "@jupyter-widgets/controls",
            "layout": "IPY_MODEL_3b5498c72ac5455a83d4713c4d2fba82"
          }
        },
        "8730b8c20724426c9c23e72c7b3b9cc7": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "ProgressStyleModel",
            "description_width": "initial",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "bar_color": null,
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "4e6f4688b7384b9ba9c9d296c081da84": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        },
        "a087660694eb4cf196fd7d1aa9461578": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_view_name": "StyleView",
            "_model_name": "DescriptionStyleModel",
            "description_width": "",
            "_view_module": "@jupyter-widgets/base",
            "_model_module_version": "1.5.0",
            "_view_count": null,
            "_view_module_version": "1.2.0",
            "_model_module": "@jupyter-widgets/controls"
          }
        },
        "3b5498c72ac5455a83d4713c4d2fba82": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "state": {
            "_view_name": "LayoutView",
            "grid_template_rows": null,
            "right": null,
            "justify_content": null,
            "_view_module": "@jupyter-widgets/base",
            "overflow": null,
            "_model_module_version": "1.2.0",
            "_view_count": null,
            "flex_flow": null,
            "width": null,
            "min_width": null,
            "border": null,
            "align_items": null,
            "bottom": null,
            "_model_module": "@jupyter-widgets/base",
            "top": null,
            "grid_column": null,
            "overflow_y": null,
            "overflow_x": null,
            "grid_auto_flow": null,
            "grid_area": null,
            "grid_template_columns": null,
            "flex": null,
            "_model_name": "LayoutModel",
            "justify_items": null,
            "grid_row": null,
            "max_height": null,
            "align_content": null,
            "visibility": null,
            "align_self": null,
            "height": null,
            "min_height": null,
            "padding": null,
            "grid_auto_rows": null,
            "grid_gap": null,
            "max_width": null,
            "order": null,
            "_view_module_version": "1.2.0",
            "grid_template_areas": null,
            "object_position": null,
            "object_fit": null,
            "grid_auto_columns": null,
            "margin": null,
            "display": null,
            "left": null
          }
        }
      }
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "He9nkdqgx5v-",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 222
        },
        "outputId": "e903ad6a-1bdd-4ad9-f223-b34c438968ad"
      },
      "source": [
        "!wget --header=\"Host: machinehack-be.s3.amazonaws.com\" --header=\"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36\" --header=\"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\" --header=\"Accept-Language: en-US,en;q=0.9\" \"https://machinehack-be.s3.amazonaws.com/product_sentiment_classification_weekend_hackathon_19/Participants_Data.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI2O7AQTB6JBT4VSA%2F20200904%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200904T170003Z&X-Amz-Expires=172800&X-Amz-SignedHeaders=host&X-Amz-Signature=ca0f188a0f0bf8a7011b3549b67b2a40a723d53ca9012051f1535a7da76207a4\" -c -O 'data.zip'"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "--2020-09-06 06:42:54--  https://machinehack-be.s3.amazonaws.com/product_sentiment_classification_weekend_hackathon_19/Participants_Data.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI2O7AQTB6JBT4VSA%2F20200904%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20200904T170003Z&X-Amz-Expires=172800&X-Amz-SignedHeaders=host&X-Amz-Signature=ca0f188a0f0bf8a7011b3549b67b2a40a723d53ca9012051f1535a7da76207a4\n",
            "Resolving machinehack-be.s3.amazonaws.com (machinehack-be.s3.amazonaws.com)... 52.219.64.112\n",
            "Connecting to machinehack-be.s3.amazonaws.com (machinehack-be.s3.amazonaws.com)|52.219.64.112|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 400578 (391K) [application/zip]\n",
            "Saving to: ‘data.zip’\n",
            "\n",
            "data.zip            100%[===================>] 391.19K   413KB/s    in 0.9s    \n",
            "\n",
            "2020-09-06 06:42:56 (413 KB/s) - ‘data.zip’ saved [400578/400578]\n",
            "\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JwzknMRIzeJY",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 151
        },
        "outputId": "89fabea1-330e-4163-c773-be4619195b1a"
      },
      "source": [
        "!unzip data.zip"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Archive:  data.zip\n",
            "   creating: Participants_Data/\n",
            "  inflating: Participants_Data/Sample Submission.csv  \n",
            "  inflating: __MACOSX/Participants_Data/._Sample Submission.csv  \n",
            "  inflating: Participants_Data/Test.csv  \n",
            "  inflating: __MACOSX/Participants_Data/._Test.csv  \n",
            "  inflating: Participants_Data/Train.csv  \n",
            "  inflating: __MACOSX/Participants_Data/._Train.csv  \n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "l83D4UjcyYxC",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 339
        },
        "outputId": "b07f330e-b825-4e62-c995-562728939e6e"
      },
      "source": [
        "!pip install catboost"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Collecting catboost\n",
            "\u001b[?25l  Downloading https://files.pythonhosted.org/packages/90/86/c3dcb600b4f9e7584ed90ea9d30a717fb5c0111574675f442c3e7bc19535/catboost-0.24.1-cp36-none-manylinux1_x86_64.whl (66.1MB)\n",
            "\u001b[K     |████████████████████████████████| 66.1MB 44kB/s \n",
            "\u001b[?25hRequirement already satisfied: numpy>=1.16.0 in /usr/local/lib/python3.6/dist-packages (from catboost) (1.18.5)\n",
            "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from catboost) (1.15.0)\n",
            "Requirement already satisfied: graphviz in /usr/local/lib/python3.6/dist-packages (from catboost) (0.10.1)\n",
            "Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from catboost) (3.2.2)\n",
            "Requirement already satisfied: plotly in /usr/local/lib/python3.6/dist-packages (from catboost) (4.4.1)\n",
            "Requirement already satisfied: scipy in /usr/local/lib/python3.6/dist-packages (from catboost) (1.4.1)\n",
            "Requirement already satisfied: pandas>=0.24.0 in /usr/local/lib/python3.6/dist-packages (from catboost) (1.0.5)\n",
            "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->catboost) (2.4.7)\n",
            "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->catboost) (0.10.0)\n",
            "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->catboost) (1.2.0)\n",
            "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->catboost) (2.8.1)\n",
            "Requirement already satisfied: retrying>=1.3.3 in /usr/local/lib/python3.6/dist-packages (from plotly->catboost) (1.3.3)\n",
            "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.24.0->catboost) (2018.9)\n",
            "Installing collected packages: catboost\n",
            "Successfully installed catboost-0.24.1\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "S-SrpWzZckWo",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 70
        },
        "outputId": "5923bdbc-12bf-434b-d2d4-61fd7140ad77"
      },
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "import os\n",
        "import seaborn as sns\n",
        "import matplotlib.pyplot as plt\n",
        "import plotly\n",
        "from catboost import CatBoostClassifier\n",
        "from lightgbm import LGBMClassifier\n",
        "from xgboost import XGBClassifier\n",
        "from sklearn.metrics import accuracy_score\n",
        "from sklearn.preprocessing import LabelEncoder\n",
        "from sklearn.model_selection import KFold\n",
        "import warnings\n",
        "warnings.filterwarnings(\"ignore\")\n",
        "import re"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
            "  import pandas.util.testing as tm\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-J0vfOlti090",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 52
        },
        "outputId": "e4858eed-8db1-4cd5-9d7e-f2774d2854d0"
      },
      "source": [
        "text = merge.Product_Description.iloc[4880]\n",
        "print(re.findall(r'@\\w+',text))\n",
        "text"
      ],
      "execution_count": 45,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "['@mention']\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "string"
            },
            "text/plain": [
              "\"@mention I'm guessing there will not be an #Android app in time for #SXSW?\""
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 45
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "_DNyZd06MYka",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 553
        },
        "outputId": "4af6bc7d-e1d6-4906-dfaf-a8a23b6c6d31"
      },
      "source": [
        "import re\n",
        "\n",
        "train = pd.read_csv(\"Participants_Data/Train.csv\")\n",
        "test = pd.read_csv(\"Participants_Data/Test.csv\")\n",
        "\n",
        "def clean(x):\n",
        "  x = re.sub(r'@\\w+',\" \",x)\n",
        "  x = re.sub(r'[^a-zA-Z]',\" \",x)\n",
        "  x = re.sub(r' [a-zA-Z]{1} ',\" \",x)\n",
        "  return x\n",
        "\n",
        "merge = pd.concat([train,test]).reset_index(drop=True)\n",
        "merge[\"description_word_len\"] = merge.apply(lambda x:len(re.findall(r\"\\w+\",x['Product_Description'])),axis=1)\n",
        "m = merge.groupby('Product_Type')['description_word_len'].agg(['mean','max',\"min\"])\n",
        "merge = merge.merge(m,on='Product_Type',how=\"left\")\n",
        "# merge[\"Product_Description\"] = merge.apply(lambda x:clean(x['Product_Description']),axis=1)\n",
        "\n",
        "merge"
      ],
      "execution_count": 114,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Text_ID</th>\n",
              "      <th>Product_Description</th>\n",
              "      <th>Product_Type</th>\n",
              "      <th>Sentiment</th>\n",
              "      <th>description_word_len</th>\n",
              "      <th>mean</th>\n",
              "      <th>max</th>\n",
              "      <th>min</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>3057</td>\n",
              "      <td>The Web DesignerÛªs Guide to iOS (and Android) Apps, today @mention 10 a.m! {link} #sxsw</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>17</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>6254</td>\n",
              "      <td>RT @mention Line for iPad 2 is longer today than yesterday. #SXSW  // are you getting in line ag...</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>22</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>8212</td>\n",
              "      <td>Crazy that Apple is opening a temporary store in Austin tomorrow to handle the rabid #sxsw eye p...</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>20</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>4422</td>\n",
              "      <td>The lesson from Google One Pass: In this digital environment, users want to purchase across ever...</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>22</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>5526</td>\n",
              "      <td>RT @mention At the panel: &amp;quot;Your mom has an ipad, designing for boomers&amp;quot; #sxsw</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>16</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9087</th>\n",
              "      <td>5705</td>\n",
              "      <td>RT @mention eww and LOL. RT @mention Just saw a guy tweeting on his iPad while peeing... This is...</td>\n",
              "      <td>9</td>\n",
              "      <td>NaN</td>\n",
              "      <td>20</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9088</th>\n",
              "      <td>7556</td>\n",
              "      <td>Free 22 track #sxsw sampler album on iTunes. #music #discovery {link}</td>\n",
              "      <td>9</td>\n",
              "      <td>NaN</td>\n",
              "      <td>11</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9089</th>\n",
              "      <td>7302</td>\n",
              "      <td>Setting up for the Google #gsdm  #sxsw party. It's going to be a-ma-zing. Check out events at sx...</td>\n",
              "      <td>3</td>\n",
              "      <td>NaN</td>\n",
              "      <td>26</td>\n",
              "      <td>18.560465</td>\n",
              "      <td>29</td>\n",
              "      <td>6</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9090</th>\n",
              "      <td>5286</td>\n",
              "      <td>RT @mention #SXSW Come see Bitbop in Austin #gdgtaustin at the PureVolume House\\n504 Trinity on ...</td>\n",
              "      <td>9</td>\n",
              "      <td>NaN</td>\n",
              "      <td>20</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9091</th>\n",
              "      <td>7047</td>\n",
              "      <td>So many Google products. isn't it time to  transition them down the chain and into  features? Bu...</td>\n",
              "      <td>5</td>\n",
              "      <td>NaN</td>\n",
              "      <td>23</td>\n",
              "      <td>18.006826</td>\n",
              "      <td>28</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>9092 rows × 8 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "      Text_ID  ... min\n",
              "0        3057  ...   2\n",
              "1        6254  ...   2\n",
              "2        8212  ...   2\n",
              "3        4422  ...   2\n",
              "4        5526  ...   2\n",
              "...       ...  ...  ..\n",
              "9087     5705  ...   2\n",
              "9088     7556  ...   2\n",
              "9089     7302  ...   6\n",
              "9090     5286  ...   2\n",
              "9091     7047  ...   4\n",
              "\n",
              "[9092 rows x 8 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 114
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "o2f75qgHoktq",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 776
        },
        "outputId": "aba5eafd-e4c6-4f14-a472-659d28f68c2d"
      },
      "source": [
        "!pip install transformers\n",
        "!pip install -U sentence-transformers"
      ],
      "execution_count": 115,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Requirement already satisfied: transformers in /usr/local/lib/python3.6/dist-packages (3.0.2)\n",
            "Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from transformers) (1.18.5)\n",
            "Requirement already satisfied: filelock in /usr/local/lib/python3.6/dist-packages (from transformers) (3.0.12)\n",
            "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.6/dist-packages (from transformers) (2019.12.20)\n",
            "Requirement already satisfied: sentencepiece!=0.1.92 in /usr/local/lib/python3.6/dist-packages (from transformers) (0.1.91)\n",
            "Requirement already satisfied: sacremoses in /usr/local/lib/python3.6/dist-packages (from transformers) (0.0.43)\n",
            "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from transformers) (2.23.0)\n",
            "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.6/dist-packages (from transformers) (4.41.1)\n",
            "Requirement already satisfied: packaging in /usr/local/lib/python3.6/dist-packages (from transformers) (20.4)\n",
            "Requirement already satisfied: tokenizers==0.8.1.rc1 in /usr/local/lib/python3.6/dist-packages (from transformers) (0.8.1rc1)\n",
            "Requirement already satisfied: dataclasses; python_version < \"3.7\" in /usr/local/lib/python3.6/dist-packages (from transformers) (0.7)\n",
            "Requirement already satisfied: click in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers) (7.1.2)\n",
            "Requirement already satisfied: joblib in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers) (0.16.0)\n",
            "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers) (1.15.0)\n",
            "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (2.10)\n",
            "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (1.24.3)\n",
            "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (3.0.4)\n",
            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->transformers) (2020.6.20)\n",
            "Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.6/dist-packages (from packaging->transformers) (2.4.7)\n",
            "Requirement already up-to-date: sentence-transformers in /usr/local/lib/python3.6/dist-packages (0.3.5.1)\n",
            "Requirement already satisfied, skipping upgrade: numpy in /usr/local/lib/python3.6/dist-packages (from sentence-transformers) (1.18.5)\n",
            "Requirement already satisfied, skipping upgrade: torch>=1.2.0 in /usr/local/lib/python3.6/dist-packages (from sentence-transformers) (1.6.0+cu101)\n",
            "Requirement already satisfied, skipping upgrade: scikit-learn in /usr/local/lib/python3.6/dist-packages (from sentence-transformers) (0.22.2.post1)\n",
            "Requirement already satisfied, skipping upgrade: scipy in /usr/local/lib/python3.6/dist-packages (from sentence-transformers) (1.4.1)\n",
            "Requirement already satisfied, skipping upgrade: transformers==3.0.2 in /usr/local/lib/python3.6/dist-packages (from sentence-transformers) (3.0.2)\n",
            "Requirement already satisfied, skipping upgrade: nltk in /usr/local/lib/python3.6/dist-packages (from sentence-transformers) (3.2.5)\n",
            "Requirement already satisfied, skipping upgrade: tqdm in /usr/local/lib/python3.6/dist-packages (from sentence-transformers) (4.41.1)\n",
            "Requirement already satisfied, skipping upgrade: future in /usr/local/lib/python3.6/dist-packages (from torch>=1.2.0->sentence-transformers) (0.16.0)\n",
            "Requirement already satisfied, skipping upgrade: joblib>=0.11 in /usr/local/lib/python3.6/dist-packages (from scikit-learn->sentence-transformers) (0.16.0)\n",
            "Requirement already satisfied, skipping upgrade: packaging in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (20.4)\n",
            "Requirement already satisfied, skipping upgrade: dataclasses; python_version < \"3.7\" in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (0.7)\n",
            "Requirement already satisfied, skipping upgrade: sacremoses in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (0.0.43)\n",
            "Requirement already satisfied, skipping upgrade: regex!=2019.12.17 in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (2019.12.20)\n",
            "Requirement already satisfied, skipping upgrade: tokenizers==0.8.1.rc1 in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (0.8.1rc1)\n",
            "Requirement already satisfied, skipping upgrade: sentencepiece!=0.1.92 in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (0.1.91)\n",
            "Requirement already satisfied, skipping upgrade: filelock in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (3.0.12)\n",
            "Requirement already satisfied, skipping upgrade: requests in /usr/local/lib/python3.6/dist-packages (from transformers==3.0.2->sentence-transformers) (2.23.0)\n",
            "Requirement already satisfied, skipping upgrade: six in /usr/local/lib/python3.6/dist-packages (from nltk->sentence-transformers) (1.15.0)\n",
            "Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in /usr/local/lib/python3.6/dist-packages (from packaging->transformers==3.0.2->sentence-transformers) (2.4.7)\n",
            "Requirement already satisfied, skipping upgrade: click in /usr/local/lib/python3.6/dist-packages (from sacremoses->transformers==3.0.2->sentence-transformers) (7.1.2)\n",
            "Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->transformers==3.0.2->sentence-transformers) (3.0.4)\n",
            "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->transformers==3.0.2->sentence-transformers) (2020.6.20)\n",
            "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->transformers==3.0.2->sentence-transformers) (1.24.3)\n",
            "Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->transformers==3.0.2->sentence-transformers) (2.10)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OBlwfcOqdMZu",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "21da43fc-42ba-4357-95a4-6ad4cb84fd54"
      },
      "source": [
        "import tensorflow as tf\n",
        "import tensorflow.keras.backend as K\n",
        "from sklearn.model_selection import StratifiedKFold\n",
        "import tokenizers\n",
        "print('TF version',tf.__version__)"
      ],
      "execution_count": 116,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "TF version 2.3.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JD11uNTGojEJ",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sentence_transformers import SentenceTransformer\n",
        "sentence_embedder = SentenceTransformer('roberta-large-nli-stsb-mean-tokens')"
      ],
      "execution_count": 117,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "N4FC41oqrtAU",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 99,
          "referenced_widgets": [
            "b2bfcd4ac76e495ca31064bc7876041b",
            "425cd92f3c904a8ab278ab5863e1695a",
            "93ce70d6ec9340bcacf2c8ff2135ae72",
            "b4e18b0b524c47caaa443b5cb34fea05",
            "3dc97c159e9a4469b0e1c34ed921b54b",
            "b19b6b2e855241c59d2eea43329bf69b",
            "efd9f88490e34a71a43214449baace68",
            "2c0cb5298b4343168fc4f047125903af"
          ]
        },
        "outputId": "b1b75191-26e0-429a-82e4-ba574fa46737"
      },
      "source": [
        "%%time\n",
        "sentence_embeddings = sentence_embedder.encode(merge.Product_Description.values.tolist(),batch_size=64,show_progress_bar=True)"
      ],
      "execution_count": 118,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "b2bfcd4ac76e495ca31064bc7876041b",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, description='Batches', max=143.0, style=ProgressStyle(description_widt…"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "CPU times: user 48.3 s, sys: 32.4 s, total: 1min 20s\n",
            "Wall time: 1min 20s\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zfqIxLgBsI3L",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.linear_model import LogisticRegression\n",
        "from sklearn.metrics  import log_loss\n",
        "from lightgbm import LGBMClassifier\n",
        "from xgboost import XGBClassifier\n",
        "from sklearn.model_selection import StratifiedKFold\n",
        "from catboost import CatBoostClassifier"
      ],
      "execution_count": 119,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3sBFzaMFtxaJ",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 244
        },
        "outputId": "cda808fc-7989-4c00-8969-4e4f5ca2ee09"
      },
      "source": [
        "data = pd.DataFrame(sentence_embeddings)\n",
        "for i in [\"Product_Type\",\"Sentiment\",\"description_word_len\",\"mean\",\"max\",\"min\"]:\n",
        "  data[i] = merge[i].values\n",
        "data.head()"
      ],
      "execution_count": 128,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "      <th>5</th>\n",
              "      <th>6</th>\n",
              "      <th>7</th>\n",
              "      <th>8</th>\n",
              "      <th>9</th>\n",
              "      <th>10</th>\n",
              "      <th>11</th>\n",
              "      <th>12</th>\n",
              "      <th>13</th>\n",
              "      <th>14</th>\n",
              "      <th>15</th>\n",
              "      <th>16</th>\n",
              "      <th>17</th>\n",
              "      <th>18</th>\n",
              "      <th>19</th>\n",
              "      <th>20</th>\n",
              "      <th>21</th>\n",
              "      <th>22</th>\n",
              "      <th>23</th>\n",
              "      <th>24</th>\n",
              "      <th>25</th>\n",
              "      <th>26</th>\n",
              "      <th>27</th>\n",
              "      <th>28</th>\n",
              "      <th>29</th>\n",
              "      <th>30</th>\n",
              "      <th>31</th>\n",
              "      <th>32</th>\n",
              "      <th>33</th>\n",
              "      <th>34</th>\n",
              "      <th>35</th>\n",
              "      <th>36</th>\n",
              "      <th>37</th>\n",
              "      <th>38</th>\n",
              "      <th>39</th>\n",
              "      <th>...</th>\n",
              "      <th>990</th>\n",
              "      <th>991</th>\n",
              "      <th>992</th>\n",
              "      <th>993</th>\n",
              "      <th>994</th>\n",
              "      <th>995</th>\n",
              "      <th>996</th>\n",
              "      <th>997</th>\n",
              "      <th>998</th>\n",
              "      <th>999</th>\n",
              "      <th>1000</th>\n",
              "      <th>1001</th>\n",
              "      <th>1002</th>\n",
              "      <th>1003</th>\n",
              "      <th>1004</th>\n",
              "      <th>1005</th>\n",
              "      <th>1006</th>\n",
              "      <th>1007</th>\n",
              "      <th>1008</th>\n",
              "      <th>1009</th>\n",
              "      <th>1010</th>\n",
              "      <th>1011</th>\n",
              "      <th>1012</th>\n",
              "      <th>1013</th>\n",
              "      <th>1014</th>\n",
              "      <th>1015</th>\n",
              "      <th>1016</th>\n",
              "      <th>1017</th>\n",
              "      <th>1018</th>\n",
              "      <th>1019</th>\n",
              "      <th>1020</th>\n",
              "      <th>1021</th>\n",
              "      <th>1022</th>\n",
              "      <th>1023</th>\n",
              "      <th>Product_Type</th>\n",
              "      <th>Sentiment</th>\n",
              "      <th>description_word_len</th>\n",
              "      <th>mean</th>\n",
              "      <th>max</th>\n",
              "      <th>min</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.330166</td>\n",
              "      <td>-0.247399</td>\n",
              "      <td>-0.870643</td>\n",
              "      <td>0.005059</td>\n",
              "      <td>0.354619</td>\n",
              "      <td>-0.836421</td>\n",
              "      <td>1.249183</td>\n",
              "      <td>-0.627188</td>\n",
              "      <td>-0.034642</td>\n",
              "      <td>-0.239112</td>\n",
              "      <td>0.474414</td>\n",
              "      <td>-1.271331</td>\n",
              "      <td>-0.416537</td>\n",
              "      <td>0.245356</td>\n",
              "      <td>-0.990851</td>\n",
              "      <td>0.118081</td>\n",
              "      <td>-0.088616</td>\n",
              "      <td>0.332725</td>\n",
              "      <td>-0.189815</td>\n",
              "      <td>0.052835</td>\n",
              "      <td>-0.358442</td>\n",
              "      <td>-1.129599</td>\n",
              "      <td>-1.480090</td>\n",
              "      <td>0.960928</td>\n",
              "      <td>0.202038</td>\n",
              "      <td>1.771792</td>\n",
              "      <td>1.036319</td>\n",
              "      <td>-1.168895</td>\n",
              "      <td>-0.092228</td>\n",
              "      <td>-0.332393</td>\n",
              "      <td>-0.727228</td>\n",
              "      <td>1.432420</td>\n",
              "      <td>-0.914551</td>\n",
              "      <td>0.855940</td>\n",
              "      <td>-0.750450</td>\n",
              "      <td>-0.466040</td>\n",
              "      <td>0.084272</td>\n",
              "      <td>-1.321738</td>\n",
              "      <td>0.246429</td>\n",
              "      <td>-0.685505</td>\n",
              "      <td>...</td>\n",
              "      <td>0.743920</td>\n",
              "      <td>0.187942</td>\n",
              "      <td>0.056851</td>\n",
              "      <td>-0.372120</td>\n",
              "      <td>0.295993</td>\n",
              "      <td>-0.707240</td>\n",
              "      <td>-1.057209</td>\n",
              "      <td>-0.606953</td>\n",
              "      <td>0.074581</td>\n",
              "      <td>-0.230364</td>\n",
              "      <td>-0.240021</td>\n",
              "      <td>1.797071</td>\n",
              "      <td>-1.269069</td>\n",
              "      <td>-0.876564</td>\n",
              "      <td>-0.449873</td>\n",
              "      <td>-1.003563</td>\n",
              "      <td>-0.593831</td>\n",
              "      <td>-0.968507</td>\n",
              "      <td>1.194812</td>\n",
              "      <td>0.173917</td>\n",
              "      <td>-0.902885</td>\n",
              "      <td>-1.918222</td>\n",
              "      <td>-0.287934</td>\n",
              "      <td>0.338150</td>\n",
              "      <td>-1.320299</td>\n",
              "      <td>-1.120233</td>\n",
              "      <td>-0.587944</td>\n",
              "      <td>-0.453288</td>\n",
              "      <td>0.274504</td>\n",
              "      <td>0.553713</td>\n",
              "      <td>0.256693</td>\n",
              "      <td>-0.069876</td>\n",
              "      <td>-0.509239</td>\n",
              "      <td>-1.558362</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>17</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.278989</td>\n",
              "      <td>0.330942</td>\n",
              "      <td>-0.165491</td>\n",
              "      <td>-1.635590</td>\n",
              "      <td>0.687119</td>\n",
              "      <td>-0.535726</td>\n",
              "      <td>0.614251</td>\n",
              "      <td>1.429138</td>\n",
              "      <td>-0.475147</td>\n",
              "      <td>0.670293</td>\n",
              "      <td>-0.328977</td>\n",
              "      <td>0.634182</td>\n",
              "      <td>-0.217569</td>\n",
              "      <td>-0.002114</td>\n",
              "      <td>-0.577375</td>\n",
              "      <td>0.345339</td>\n",
              "      <td>0.807563</td>\n",
              "      <td>1.143098</td>\n",
              "      <td>1.049112</td>\n",
              "      <td>-0.005921</td>\n",
              "      <td>0.444395</td>\n",
              "      <td>-2.222994</td>\n",
              "      <td>0.773283</td>\n",
              "      <td>0.783117</td>\n",
              "      <td>0.237505</td>\n",
              "      <td>0.096515</td>\n",
              "      <td>-0.506389</td>\n",
              "      <td>-0.435858</td>\n",
              "      <td>0.655360</td>\n",
              "      <td>0.001266</td>\n",
              "      <td>-1.252077</td>\n",
              "      <td>0.544317</td>\n",
              "      <td>-0.423390</td>\n",
              "      <td>-0.367903</td>\n",
              "      <td>-1.926224</td>\n",
              "      <td>0.767378</td>\n",
              "      <td>-2.255352</td>\n",
              "      <td>-0.418798</td>\n",
              "      <td>-0.075096</td>\n",
              "      <td>-0.679807</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.453680</td>\n",
              "      <td>-1.408925</td>\n",
              "      <td>0.569648</td>\n",
              "      <td>1.062356</td>\n",
              "      <td>-0.229779</td>\n",
              "      <td>0.375595</td>\n",
              "      <td>0.009393</td>\n",
              "      <td>-0.098088</td>\n",
              "      <td>0.936759</td>\n",
              "      <td>0.275842</td>\n",
              "      <td>-0.804953</td>\n",
              "      <td>-0.857162</td>\n",
              "      <td>-2.376616</td>\n",
              "      <td>0.742029</td>\n",
              "      <td>0.466319</td>\n",
              "      <td>-1.231064</td>\n",
              "      <td>-1.222434</td>\n",
              "      <td>-0.363849</td>\n",
              "      <td>-0.511013</td>\n",
              "      <td>-0.013214</td>\n",
              "      <td>-0.533763</td>\n",
              "      <td>-2.542952</td>\n",
              "      <td>-0.107767</td>\n",
              "      <td>-0.374117</td>\n",
              "      <td>-0.254659</td>\n",
              "      <td>0.653225</td>\n",
              "      <td>0.864038</td>\n",
              "      <td>0.895204</td>\n",
              "      <td>1.169005</td>\n",
              "      <td>0.596771</td>\n",
              "      <td>0.461121</td>\n",
              "      <td>-0.165451</td>\n",
              "      <td>-0.091080</td>\n",
              "      <td>-0.331927</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>22</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.054071</td>\n",
              "      <td>0.683320</td>\n",
              "      <td>-0.719468</td>\n",
              "      <td>-0.993365</td>\n",
              "      <td>0.146500</td>\n",
              "      <td>-1.322315</td>\n",
              "      <td>0.569945</td>\n",
              "      <td>0.273332</td>\n",
              "      <td>0.294247</td>\n",
              "      <td>-0.616736</td>\n",
              "      <td>0.041258</td>\n",
              "      <td>-0.348922</td>\n",
              "      <td>0.146179</td>\n",
              "      <td>0.279476</td>\n",
              "      <td>-2.329790</td>\n",
              "      <td>0.841444</td>\n",
              "      <td>0.808260</td>\n",
              "      <td>0.518160</td>\n",
              "      <td>0.378361</td>\n",
              "      <td>-0.352653</td>\n",
              "      <td>0.894695</td>\n",
              "      <td>-0.749423</td>\n",
              "      <td>0.046378</td>\n",
              "      <td>0.433439</td>\n",
              "      <td>-0.055453</td>\n",
              "      <td>0.867229</td>\n",
              "      <td>-0.472140</td>\n",
              "      <td>0.023804</td>\n",
              "      <td>0.485384</td>\n",
              "      <td>0.047713</td>\n",
              "      <td>-0.218020</td>\n",
              "      <td>0.998919</td>\n",
              "      <td>-0.150349</td>\n",
              "      <td>-0.102221</td>\n",
              "      <td>-1.301128</td>\n",
              "      <td>-0.192055</td>\n",
              "      <td>-0.534870</td>\n",
              "      <td>-0.740005</td>\n",
              "      <td>0.566584</td>\n",
              "      <td>-1.096629</td>\n",
              "      <td>...</td>\n",
              "      <td>-1.146203</td>\n",
              "      <td>0.086846</td>\n",
              "      <td>-0.393993</td>\n",
              "      <td>-0.126912</td>\n",
              "      <td>0.996776</td>\n",
              "      <td>-1.153905</td>\n",
              "      <td>-0.766382</td>\n",
              "      <td>-0.377434</td>\n",
              "      <td>0.723442</td>\n",
              "      <td>0.191846</td>\n",
              "      <td>-0.814163</td>\n",
              "      <td>-1.085053</td>\n",
              "      <td>-1.658121</td>\n",
              "      <td>-0.498429</td>\n",
              "      <td>-0.452108</td>\n",
              "      <td>-2.083883</td>\n",
              "      <td>-0.777527</td>\n",
              "      <td>-1.643399</td>\n",
              "      <td>0.891260</td>\n",
              "      <td>0.315839</td>\n",
              "      <td>-0.626214</td>\n",
              "      <td>-0.960398</td>\n",
              "      <td>-0.703351</td>\n",
              "      <td>-0.219070</td>\n",
              "      <td>-0.047881</td>\n",
              "      <td>-0.796186</td>\n",
              "      <td>0.478783</td>\n",
              "      <td>0.991952</td>\n",
              "      <td>0.238710</td>\n",
              "      <td>0.564169</td>\n",
              "      <td>0.152120</td>\n",
              "      <td>-0.402950</td>\n",
              "      <td>-1.189982</td>\n",
              "      <td>0.525129</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>20</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>-1.283736</td>\n",
              "      <td>1.077794</td>\n",
              "      <td>0.115693</td>\n",
              "      <td>-0.754599</td>\n",
              "      <td>-0.353901</td>\n",
              "      <td>0.099093</td>\n",
              "      <td>0.026904</td>\n",
              "      <td>-1.588506</td>\n",
              "      <td>-0.343078</td>\n",
              "      <td>0.776587</td>\n",
              "      <td>0.609058</td>\n",
              "      <td>-1.232810</td>\n",
              "      <td>-0.395967</td>\n",
              "      <td>1.201138</td>\n",
              "      <td>0.514959</td>\n",
              "      <td>-1.009338</td>\n",
              "      <td>0.468748</td>\n",
              "      <td>-0.771186</td>\n",
              "      <td>0.470583</td>\n",
              "      <td>0.265297</td>\n",
              "      <td>-0.536604</td>\n",
              "      <td>-1.432280</td>\n",
              "      <td>-0.155619</td>\n",
              "      <td>-0.208997</td>\n",
              "      <td>0.023684</td>\n",
              "      <td>0.743148</td>\n",
              "      <td>-0.802505</td>\n",
              "      <td>-0.559221</td>\n",
              "      <td>-0.890675</td>\n",
              "      <td>-0.530240</td>\n",
              "      <td>-0.387051</td>\n",
              "      <td>0.228818</td>\n",
              "      <td>-0.881575</td>\n",
              "      <td>0.404648</td>\n",
              "      <td>-0.383866</td>\n",
              "      <td>0.167418</td>\n",
              "      <td>0.385697</td>\n",
              "      <td>-1.069829</td>\n",
              "      <td>-0.677940</td>\n",
              "      <td>-0.791103</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.039768</td>\n",
              "      <td>0.424859</td>\n",
              "      <td>-0.052332</td>\n",
              "      <td>-0.475321</td>\n",
              "      <td>2.061460</td>\n",
              "      <td>-0.723258</td>\n",
              "      <td>-1.593484</td>\n",
              "      <td>0.001796</td>\n",
              "      <td>0.298123</td>\n",
              "      <td>0.493564</td>\n",
              "      <td>-0.735725</td>\n",
              "      <td>-1.200398</td>\n",
              "      <td>-0.975538</td>\n",
              "      <td>0.123734</td>\n",
              "      <td>-0.091106</td>\n",
              "      <td>-1.905183</td>\n",
              "      <td>-0.579613</td>\n",
              "      <td>-1.124421</td>\n",
              "      <td>1.478265</td>\n",
              "      <td>-0.436936</td>\n",
              "      <td>-0.394281</td>\n",
              "      <td>-1.356696</td>\n",
              "      <td>-1.036585</td>\n",
              "      <td>0.999023</td>\n",
              "      <td>-0.608468</td>\n",
              "      <td>-0.067053</td>\n",
              "      <td>-0.116878</td>\n",
              "      <td>0.798799</td>\n",
              "      <td>0.617623</td>\n",
              "      <td>0.398502</td>\n",
              "      <td>-0.310564</td>\n",
              "      <td>0.483582</td>\n",
              "      <td>-0.040487</td>\n",
              "      <td>-0.366792</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>22</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>-0.685149</td>\n",
              "      <td>0.356008</td>\n",
              "      <td>-0.141167</td>\n",
              "      <td>-0.743662</td>\n",
              "      <td>-0.430733</td>\n",
              "      <td>-0.503177</td>\n",
              "      <td>-0.009457</td>\n",
              "      <td>-0.170716</td>\n",
              "      <td>-0.768280</td>\n",
              "      <td>0.383438</td>\n",
              "      <td>-0.045508</td>\n",
              "      <td>-0.437406</td>\n",
              "      <td>0.072292</td>\n",
              "      <td>-0.533039</td>\n",
              "      <td>0.044453</td>\n",
              "      <td>-1.127246</td>\n",
              "      <td>0.013489</td>\n",
              "      <td>0.391308</td>\n",
              "      <td>1.493541</td>\n",
              "      <td>1.116444</td>\n",
              "      <td>-0.713020</td>\n",
              "      <td>-0.380921</td>\n",
              "      <td>0.693902</td>\n",
              "      <td>0.676981</td>\n",
              "      <td>-0.356785</td>\n",
              "      <td>-0.496087</td>\n",
              "      <td>0.489436</td>\n",
              "      <td>-1.643810</td>\n",
              "      <td>-0.468426</td>\n",
              "      <td>-0.708997</td>\n",
              "      <td>-0.463609</td>\n",
              "      <td>1.014461</td>\n",
              "      <td>0.284167</td>\n",
              "      <td>0.857793</td>\n",
              "      <td>-0.694767</td>\n",
              "      <td>-2.135303</td>\n",
              "      <td>1.083801</td>\n",
              "      <td>-0.472782</td>\n",
              "      <td>-0.645185</td>\n",
              "      <td>-0.088482</td>\n",
              "      <td>...</td>\n",
              "      <td>0.458621</td>\n",
              "      <td>-1.409885</td>\n",
              "      <td>0.815891</td>\n",
              "      <td>-1.152875</td>\n",
              "      <td>0.937023</td>\n",
              "      <td>-0.232835</td>\n",
              "      <td>-0.673953</td>\n",
              "      <td>-1.275875</td>\n",
              "      <td>-0.651409</td>\n",
              "      <td>0.106803</td>\n",
              "      <td>0.852988</td>\n",
              "      <td>-0.961395</td>\n",
              "      <td>-2.609520</td>\n",
              "      <td>1.181578</td>\n",
              "      <td>-0.190357</td>\n",
              "      <td>-0.792487</td>\n",
              "      <td>0.025201</td>\n",
              "      <td>0.082748</td>\n",
              "      <td>0.371371</td>\n",
              "      <td>0.144735</td>\n",
              "      <td>-0.636163</td>\n",
              "      <td>-0.750756</td>\n",
              "      <td>0.167549</td>\n",
              "      <td>0.452037</td>\n",
              "      <td>-0.660470</td>\n",
              "      <td>0.731405</td>\n",
              "      <td>-0.638426</td>\n",
              "      <td>2.368102</td>\n",
              "      <td>0.084374</td>\n",
              "      <td>1.719394</td>\n",
              "      <td>-0.300217</td>\n",
              "      <td>-0.135865</td>\n",
              "      <td>-1.261117</td>\n",
              "      <td>0.310948</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>16</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>5 rows × 1030 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "          0         1         2  ...       mean  max  min\n",
              "0  0.330166 -0.247399 -0.870643  ...  18.126013   41    2\n",
              "1  0.278989  0.330942 -0.165491  ...  18.126013   41    2\n",
              "2  0.054071  0.683320 -0.719468  ...  18.126013   41    2\n",
              "3 -1.283736  1.077794  0.115693  ...  18.126013   41    2\n",
              "4 -0.685149  0.356008 -0.141167  ...  18.126013   41    2\n",
              "\n",
              "[5 rows x 1030 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 128
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0eHpROJG1Bg5",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "train = data[~data.Sentiment.isna()]\n",
        "test = data[data.Sentiment.isna()]\n",
        "test.drop(\"Sentiment\",axis=1,inplace=True)"
      ],
      "execution_count": 129,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3_xitcgU3y8n",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 422
        },
        "outputId": "da3b0523-f8d0-4169-daab-66a5b8f5f119"
      },
      "source": [
        "train"
      ],
      "execution_count": 130,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "      <th>5</th>\n",
              "      <th>6</th>\n",
              "      <th>7</th>\n",
              "      <th>8</th>\n",
              "      <th>9</th>\n",
              "      <th>10</th>\n",
              "      <th>11</th>\n",
              "      <th>12</th>\n",
              "      <th>13</th>\n",
              "      <th>14</th>\n",
              "      <th>15</th>\n",
              "      <th>16</th>\n",
              "      <th>17</th>\n",
              "      <th>18</th>\n",
              "      <th>19</th>\n",
              "      <th>20</th>\n",
              "      <th>21</th>\n",
              "      <th>22</th>\n",
              "      <th>23</th>\n",
              "      <th>24</th>\n",
              "      <th>25</th>\n",
              "      <th>26</th>\n",
              "      <th>27</th>\n",
              "      <th>28</th>\n",
              "      <th>29</th>\n",
              "      <th>30</th>\n",
              "      <th>31</th>\n",
              "      <th>32</th>\n",
              "      <th>33</th>\n",
              "      <th>34</th>\n",
              "      <th>35</th>\n",
              "      <th>36</th>\n",
              "      <th>37</th>\n",
              "      <th>38</th>\n",
              "      <th>39</th>\n",
              "      <th>...</th>\n",
              "      <th>990</th>\n",
              "      <th>991</th>\n",
              "      <th>992</th>\n",
              "      <th>993</th>\n",
              "      <th>994</th>\n",
              "      <th>995</th>\n",
              "      <th>996</th>\n",
              "      <th>997</th>\n",
              "      <th>998</th>\n",
              "      <th>999</th>\n",
              "      <th>1000</th>\n",
              "      <th>1001</th>\n",
              "      <th>1002</th>\n",
              "      <th>1003</th>\n",
              "      <th>1004</th>\n",
              "      <th>1005</th>\n",
              "      <th>1006</th>\n",
              "      <th>1007</th>\n",
              "      <th>1008</th>\n",
              "      <th>1009</th>\n",
              "      <th>1010</th>\n",
              "      <th>1011</th>\n",
              "      <th>1012</th>\n",
              "      <th>1013</th>\n",
              "      <th>1014</th>\n",
              "      <th>1015</th>\n",
              "      <th>1016</th>\n",
              "      <th>1017</th>\n",
              "      <th>1018</th>\n",
              "      <th>1019</th>\n",
              "      <th>1020</th>\n",
              "      <th>1021</th>\n",
              "      <th>1022</th>\n",
              "      <th>1023</th>\n",
              "      <th>Product_Type</th>\n",
              "      <th>Sentiment</th>\n",
              "      <th>description_word_len</th>\n",
              "      <th>mean</th>\n",
              "      <th>max</th>\n",
              "      <th>min</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.330166</td>\n",
              "      <td>-0.247399</td>\n",
              "      <td>-0.870643</td>\n",
              "      <td>0.005059</td>\n",
              "      <td>0.354619</td>\n",
              "      <td>-0.836421</td>\n",
              "      <td>1.249183</td>\n",
              "      <td>-0.627188</td>\n",
              "      <td>-0.034642</td>\n",
              "      <td>-0.239112</td>\n",
              "      <td>0.474414</td>\n",
              "      <td>-1.271331</td>\n",
              "      <td>-0.416537</td>\n",
              "      <td>0.245356</td>\n",
              "      <td>-0.990851</td>\n",
              "      <td>0.118081</td>\n",
              "      <td>-0.088616</td>\n",
              "      <td>0.332725</td>\n",
              "      <td>-0.189815</td>\n",
              "      <td>0.052835</td>\n",
              "      <td>-0.358442</td>\n",
              "      <td>-1.129599</td>\n",
              "      <td>-1.480090</td>\n",
              "      <td>0.960928</td>\n",
              "      <td>0.202038</td>\n",
              "      <td>1.771792</td>\n",
              "      <td>1.036319</td>\n",
              "      <td>-1.168895</td>\n",
              "      <td>-0.092228</td>\n",
              "      <td>-0.332393</td>\n",
              "      <td>-0.727228</td>\n",
              "      <td>1.432420</td>\n",
              "      <td>-0.914551</td>\n",
              "      <td>0.855940</td>\n",
              "      <td>-0.750450</td>\n",
              "      <td>-0.466040</td>\n",
              "      <td>0.084272</td>\n",
              "      <td>-1.321738</td>\n",
              "      <td>0.246429</td>\n",
              "      <td>-0.685505</td>\n",
              "      <td>...</td>\n",
              "      <td>0.743920</td>\n",
              "      <td>0.187942</td>\n",
              "      <td>0.056851</td>\n",
              "      <td>-0.372120</td>\n",
              "      <td>0.295993</td>\n",
              "      <td>-0.707240</td>\n",
              "      <td>-1.057209</td>\n",
              "      <td>-0.606953</td>\n",
              "      <td>0.074581</td>\n",
              "      <td>-0.230364</td>\n",
              "      <td>-0.240021</td>\n",
              "      <td>1.797071</td>\n",
              "      <td>-1.269069</td>\n",
              "      <td>-0.876564</td>\n",
              "      <td>-0.449873</td>\n",
              "      <td>-1.003563</td>\n",
              "      <td>-0.593831</td>\n",
              "      <td>-0.968507</td>\n",
              "      <td>1.194812</td>\n",
              "      <td>0.173917</td>\n",
              "      <td>-0.902885</td>\n",
              "      <td>-1.918222</td>\n",
              "      <td>-0.287934</td>\n",
              "      <td>0.338150</td>\n",
              "      <td>-1.320299</td>\n",
              "      <td>-1.120233</td>\n",
              "      <td>-0.587944</td>\n",
              "      <td>-0.453288</td>\n",
              "      <td>0.274504</td>\n",
              "      <td>0.553713</td>\n",
              "      <td>0.256693</td>\n",
              "      <td>-0.069876</td>\n",
              "      <td>-0.509239</td>\n",
              "      <td>-1.558362</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>17</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.278989</td>\n",
              "      <td>0.330942</td>\n",
              "      <td>-0.165491</td>\n",
              "      <td>-1.635590</td>\n",
              "      <td>0.687119</td>\n",
              "      <td>-0.535726</td>\n",
              "      <td>0.614251</td>\n",
              "      <td>1.429138</td>\n",
              "      <td>-0.475147</td>\n",
              "      <td>0.670293</td>\n",
              "      <td>-0.328977</td>\n",
              "      <td>0.634182</td>\n",
              "      <td>-0.217569</td>\n",
              "      <td>-0.002114</td>\n",
              "      <td>-0.577375</td>\n",
              "      <td>0.345339</td>\n",
              "      <td>0.807563</td>\n",
              "      <td>1.143098</td>\n",
              "      <td>1.049112</td>\n",
              "      <td>-0.005921</td>\n",
              "      <td>0.444395</td>\n",
              "      <td>-2.222994</td>\n",
              "      <td>0.773283</td>\n",
              "      <td>0.783117</td>\n",
              "      <td>0.237505</td>\n",
              "      <td>0.096515</td>\n",
              "      <td>-0.506389</td>\n",
              "      <td>-0.435858</td>\n",
              "      <td>0.655360</td>\n",
              "      <td>0.001266</td>\n",
              "      <td>-1.252077</td>\n",
              "      <td>0.544317</td>\n",
              "      <td>-0.423390</td>\n",
              "      <td>-0.367903</td>\n",
              "      <td>-1.926224</td>\n",
              "      <td>0.767378</td>\n",
              "      <td>-2.255352</td>\n",
              "      <td>-0.418798</td>\n",
              "      <td>-0.075096</td>\n",
              "      <td>-0.679807</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.453680</td>\n",
              "      <td>-1.408925</td>\n",
              "      <td>0.569648</td>\n",
              "      <td>1.062356</td>\n",
              "      <td>-0.229779</td>\n",
              "      <td>0.375595</td>\n",
              "      <td>0.009393</td>\n",
              "      <td>-0.098088</td>\n",
              "      <td>0.936759</td>\n",
              "      <td>0.275842</td>\n",
              "      <td>-0.804953</td>\n",
              "      <td>-0.857162</td>\n",
              "      <td>-2.376616</td>\n",
              "      <td>0.742029</td>\n",
              "      <td>0.466319</td>\n",
              "      <td>-1.231064</td>\n",
              "      <td>-1.222434</td>\n",
              "      <td>-0.363849</td>\n",
              "      <td>-0.511013</td>\n",
              "      <td>-0.013214</td>\n",
              "      <td>-0.533763</td>\n",
              "      <td>-2.542952</td>\n",
              "      <td>-0.107767</td>\n",
              "      <td>-0.374117</td>\n",
              "      <td>-0.254659</td>\n",
              "      <td>0.653225</td>\n",
              "      <td>0.864038</td>\n",
              "      <td>0.895204</td>\n",
              "      <td>1.169005</td>\n",
              "      <td>0.596771</td>\n",
              "      <td>0.461121</td>\n",
              "      <td>-0.165451</td>\n",
              "      <td>-0.091080</td>\n",
              "      <td>-0.331927</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>22</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.054071</td>\n",
              "      <td>0.683320</td>\n",
              "      <td>-0.719468</td>\n",
              "      <td>-0.993365</td>\n",
              "      <td>0.146500</td>\n",
              "      <td>-1.322315</td>\n",
              "      <td>0.569945</td>\n",
              "      <td>0.273332</td>\n",
              "      <td>0.294247</td>\n",
              "      <td>-0.616736</td>\n",
              "      <td>0.041258</td>\n",
              "      <td>-0.348922</td>\n",
              "      <td>0.146179</td>\n",
              "      <td>0.279476</td>\n",
              "      <td>-2.329790</td>\n",
              "      <td>0.841444</td>\n",
              "      <td>0.808260</td>\n",
              "      <td>0.518160</td>\n",
              "      <td>0.378361</td>\n",
              "      <td>-0.352653</td>\n",
              "      <td>0.894695</td>\n",
              "      <td>-0.749423</td>\n",
              "      <td>0.046378</td>\n",
              "      <td>0.433439</td>\n",
              "      <td>-0.055453</td>\n",
              "      <td>0.867229</td>\n",
              "      <td>-0.472140</td>\n",
              "      <td>0.023804</td>\n",
              "      <td>0.485384</td>\n",
              "      <td>0.047713</td>\n",
              "      <td>-0.218020</td>\n",
              "      <td>0.998919</td>\n",
              "      <td>-0.150349</td>\n",
              "      <td>-0.102221</td>\n",
              "      <td>-1.301128</td>\n",
              "      <td>-0.192055</td>\n",
              "      <td>-0.534870</td>\n",
              "      <td>-0.740005</td>\n",
              "      <td>0.566584</td>\n",
              "      <td>-1.096629</td>\n",
              "      <td>...</td>\n",
              "      <td>-1.146203</td>\n",
              "      <td>0.086846</td>\n",
              "      <td>-0.393993</td>\n",
              "      <td>-0.126912</td>\n",
              "      <td>0.996776</td>\n",
              "      <td>-1.153905</td>\n",
              "      <td>-0.766382</td>\n",
              "      <td>-0.377434</td>\n",
              "      <td>0.723442</td>\n",
              "      <td>0.191846</td>\n",
              "      <td>-0.814163</td>\n",
              "      <td>-1.085053</td>\n",
              "      <td>-1.658121</td>\n",
              "      <td>-0.498429</td>\n",
              "      <td>-0.452108</td>\n",
              "      <td>-2.083883</td>\n",
              "      <td>-0.777527</td>\n",
              "      <td>-1.643399</td>\n",
              "      <td>0.891260</td>\n",
              "      <td>0.315839</td>\n",
              "      <td>-0.626214</td>\n",
              "      <td>-0.960398</td>\n",
              "      <td>-0.703351</td>\n",
              "      <td>-0.219070</td>\n",
              "      <td>-0.047881</td>\n",
              "      <td>-0.796186</td>\n",
              "      <td>0.478783</td>\n",
              "      <td>0.991952</td>\n",
              "      <td>0.238710</td>\n",
              "      <td>0.564169</td>\n",
              "      <td>0.152120</td>\n",
              "      <td>-0.402950</td>\n",
              "      <td>-1.189982</td>\n",
              "      <td>0.525129</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>20</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>-1.283736</td>\n",
              "      <td>1.077794</td>\n",
              "      <td>0.115693</td>\n",
              "      <td>-0.754599</td>\n",
              "      <td>-0.353901</td>\n",
              "      <td>0.099093</td>\n",
              "      <td>0.026904</td>\n",
              "      <td>-1.588506</td>\n",
              "      <td>-0.343078</td>\n",
              "      <td>0.776587</td>\n",
              "      <td>0.609058</td>\n",
              "      <td>-1.232810</td>\n",
              "      <td>-0.395967</td>\n",
              "      <td>1.201138</td>\n",
              "      <td>0.514959</td>\n",
              "      <td>-1.009338</td>\n",
              "      <td>0.468748</td>\n",
              "      <td>-0.771186</td>\n",
              "      <td>0.470583</td>\n",
              "      <td>0.265297</td>\n",
              "      <td>-0.536604</td>\n",
              "      <td>-1.432280</td>\n",
              "      <td>-0.155619</td>\n",
              "      <td>-0.208997</td>\n",
              "      <td>0.023684</td>\n",
              "      <td>0.743148</td>\n",
              "      <td>-0.802505</td>\n",
              "      <td>-0.559221</td>\n",
              "      <td>-0.890675</td>\n",
              "      <td>-0.530240</td>\n",
              "      <td>-0.387051</td>\n",
              "      <td>0.228818</td>\n",
              "      <td>-0.881575</td>\n",
              "      <td>0.404648</td>\n",
              "      <td>-0.383866</td>\n",
              "      <td>0.167418</td>\n",
              "      <td>0.385697</td>\n",
              "      <td>-1.069829</td>\n",
              "      <td>-0.677940</td>\n",
              "      <td>-0.791103</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.039768</td>\n",
              "      <td>0.424859</td>\n",
              "      <td>-0.052332</td>\n",
              "      <td>-0.475321</td>\n",
              "      <td>2.061460</td>\n",
              "      <td>-0.723258</td>\n",
              "      <td>-1.593484</td>\n",
              "      <td>0.001796</td>\n",
              "      <td>0.298123</td>\n",
              "      <td>0.493564</td>\n",
              "      <td>-0.735725</td>\n",
              "      <td>-1.200398</td>\n",
              "      <td>-0.975538</td>\n",
              "      <td>0.123734</td>\n",
              "      <td>-0.091106</td>\n",
              "      <td>-1.905183</td>\n",
              "      <td>-0.579613</td>\n",
              "      <td>-1.124421</td>\n",
              "      <td>1.478265</td>\n",
              "      <td>-0.436936</td>\n",
              "      <td>-0.394281</td>\n",
              "      <td>-1.356696</td>\n",
              "      <td>-1.036585</td>\n",
              "      <td>0.999023</td>\n",
              "      <td>-0.608468</td>\n",
              "      <td>-0.067053</td>\n",
              "      <td>-0.116878</td>\n",
              "      <td>0.798799</td>\n",
              "      <td>0.617623</td>\n",
              "      <td>0.398502</td>\n",
              "      <td>-0.310564</td>\n",
              "      <td>0.483582</td>\n",
              "      <td>-0.040487</td>\n",
              "      <td>-0.366792</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>22</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>-0.685149</td>\n",
              "      <td>0.356008</td>\n",
              "      <td>-0.141167</td>\n",
              "      <td>-0.743662</td>\n",
              "      <td>-0.430733</td>\n",
              "      <td>-0.503177</td>\n",
              "      <td>-0.009457</td>\n",
              "      <td>-0.170716</td>\n",
              "      <td>-0.768280</td>\n",
              "      <td>0.383438</td>\n",
              "      <td>-0.045508</td>\n",
              "      <td>-0.437406</td>\n",
              "      <td>0.072292</td>\n",
              "      <td>-0.533039</td>\n",
              "      <td>0.044453</td>\n",
              "      <td>-1.127246</td>\n",
              "      <td>0.013489</td>\n",
              "      <td>0.391308</td>\n",
              "      <td>1.493541</td>\n",
              "      <td>1.116444</td>\n",
              "      <td>-0.713020</td>\n",
              "      <td>-0.380921</td>\n",
              "      <td>0.693902</td>\n",
              "      <td>0.676981</td>\n",
              "      <td>-0.356785</td>\n",
              "      <td>-0.496087</td>\n",
              "      <td>0.489436</td>\n",
              "      <td>-1.643810</td>\n",
              "      <td>-0.468426</td>\n",
              "      <td>-0.708997</td>\n",
              "      <td>-0.463609</td>\n",
              "      <td>1.014461</td>\n",
              "      <td>0.284167</td>\n",
              "      <td>0.857793</td>\n",
              "      <td>-0.694767</td>\n",
              "      <td>-2.135303</td>\n",
              "      <td>1.083801</td>\n",
              "      <td>-0.472782</td>\n",
              "      <td>-0.645185</td>\n",
              "      <td>-0.088482</td>\n",
              "      <td>...</td>\n",
              "      <td>0.458621</td>\n",
              "      <td>-1.409885</td>\n",
              "      <td>0.815891</td>\n",
              "      <td>-1.152875</td>\n",
              "      <td>0.937023</td>\n",
              "      <td>-0.232835</td>\n",
              "      <td>-0.673953</td>\n",
              "      <td>-1.275875</td>\n",
              "      <td>-0.651409</td>\n",
              "      <td>0.106803</td>\n",
              "      <td>0.852988</td>\n",
              "      <td>-0.961395</td>\n",
              "      <td>-2.609520</td>\n",
              "      <td>1.181578</td>\n",
              "      <td>-0.190357</td>\n",
              "      <td>-0.792487</td>\n",
              "      <td>0.025201</td>\n",
              "      <td>0.082748</td>\n",
              "      <td>0.371371</td>\n",
              "      <td>0.144735</td>\n",
              "      <td>-0.636163</td>\n",
              "      <td>-0.750756</td>\n",
              "      <td>0.167549</td>\n",
              "      <td>0.452037</td>\n",
              "      <td>-0.660470</td>\n",
              "      <td>0.731405</td>\n",
              "      <td>-0.638426</td>\n",
              "      <td>2.368102</td>\n",
              "      <td>0.084374</td>\n",
              "      <td>1.719394</td>\n",
              "      <td>-0.300217</td>\n",
              "      <td>-0.135865</td>\n",
              "      <td>-1.261117</td>\n",
              "      <td>0.310948</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>16</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6359</th>\n",
              "      <td>-0.326086</td>\n",
              "      <td>0.941838</td>\n",
              "      <td>-0.743047</td>\n",
              "      <td>-0.312741</td>\n",
              "      <td>0.379937</td>\n",
              "      <td>-1.069169</td>\n",
              "      <td>-0.148869</td>\n",
              "      <td>0.062390</td>\n",
              "      <td>1.479529</td>\n",
              "      <td>1.562312</td>\n",
              "      <td>-1.066442</td>\n",
              "      <td>0.438044</td>\n",
              "      <td>0.352782</td>\n",
              "      <td>-1.238508</td>\n",
              "      <td>-1.003290</td>\n",
              "      <td>0.111742</td>\n",
              "      <td>0.677915</td>\n",
              "      <td>-0.642532</td>\n",
              "      <td>1.513632</td>\n",
              "      <td>-0.015614</td>\n",
              "      <td>1.440298</td>\n",
              "      <td>-2.135779</td>\n",
              "      <td>0.297865</td>\n",
              "      <td>-1.024272</td>\n",
              "      <td>-0.380042</td>\n",
              "      <td>0.320877</td>\n",
              "      <td>0.394853</td>\n",
              "      <td>-0.758337</td>\n",
              "      <td>-0.592013</td>\n",
              "      <td>-0.656771</td>\n",
              "      <td>0.003039</td>\n",
              "      <td>0.520840</td>\n",
              "      <td>-0.355764</td>\n",
              "      <td>1.273098</td>\n",
              "      <td>-0.644830</td>\n",
              "      <td>0.342684</td>\n",
              "      <td>-0.057962</td>\n",
              "      <td>-0.206637</td>\n",
              "      <td>-0.176821</td>\n",
              "      <td>0.566115</td>\n",
              "      <td>...</td>\n",
              "      <td>0.882987</td>\n",
              "      <td>-1.693508</td>\n",
              "      <td>0.824716</td>\n",
              "      <td>0.269359</td>\n",
              "      <td>1.537052</td>\n",
              "      <td>0.643744</td>\n",
              "      <td>-1.267079</td>\n",
              "      <td>0.230185</td>\n",
              "      <td>-0.285897</td>\n",
              "      <td>-0.561534</td>\n",
              "      <td>-0.336770</td>\n",
              "      <td>-0.720582</td>\n",
              "      <td>-0.455947</td>\n",
              "      <td>0.024652</td>\n",
              "      <td>-1.122877</td>\n",
              "      <td>0.014630</td>\n",
              "      <td>-0.757235</td>\n",
              "      <td>-0.050132</td>\n",
              "      <td>0.502829</td>\n",
              "      <td>-0.291142</td>\n",
              "      <td>-0.277356</td>\n",
              "      <td>-0.875687</td>\n",
              "      <td>1.198119</td>\n",
              "      <td>1.155886</td>\n",
              "      <td>-0.818187</td>\n",
              "      <td>1.009633</td>\n",
              "      <td>0.178413</td>\n",
              "      <td>0.441859</td>\n",
              "      <td>-0.033210</td>\n",
              "      <td>2.189156</td>\n",
              "      <td>-0.381108</td>\n",
              "      <td>0.460205</td>\n",
              "      <td>-1.666554</td>\n",
              "      <td>-0.511354</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>10</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6360</th>\n",
              "      <td>-0.350053</td>\n",
              "      <td>0.772783</td>\n",
              "      <td>0.031255</td>\n",
              "      <td>-1.108247</td>\n",
              "      <td>0.611049</td>\n",
              "      <td>1.396063</td>\n",
              "      <td>-0.121864</td>\n",
              "      <td>0.028109</td>\n",
              "      <td>-0.747325</td>\n",
              "      <td>0.452621</td>\n",
              "      <td>1.013209</td>\n",
              "      <td>-0.263264</td>\n",
              "      <td>0.499961</td>\n",
              "      <td>0.407442</td>\n",
              "      <td>-0.695200</td>\n",
              "      <td>-0.532789</td>\n",
              "      <td>-0.369132</td>\n",
              "      <td>-0.083635</td>\n",
              "      <td>0.586159</td>\n",
              "      <td>0.205020</td>\n",
              "      <td>-0.583654</td>\n",
              "      <td>-1.814400</td>\n",
              "      <td>-0.584113</td>\n",
              "      <td>0.281012</td>\n",
              "      <td>1.104617</td>\n",
              "      <td>1.016424</td>\n",
              "      <td>0.400945</td>\n",
              "      <td>-0.612389</td>\n",
              "      <td>0.836177</td>\n",
              "      <td>-1.119938</td>\n",
              "      <td>0.033986</td>\n",
              "      <td>0.886776</td>\n",
              "      <td>-0.647718</td>\n",
              "      <td>-0.438176</td>\n",
              "      <td>-1.859230</td>\n",
              "      <td>-0.689137</td>\n",
              "      <td>-1.351643</td>\n",
              "      <td>-1.246237</td>\n",
              "      <td>1.194980</td>\n",
              "      <td>-0.354682</td>\n",
              "      <td>...</td>\n",
              "      <td>0.446421</td>\n",
              "      <td>-2.103922</td>\n",
              "      <td>-0.768078</td>\n",
              "      <td>-1.476295</td>\n",
              "      <td>0.569802</td>\n",
              "      <td>-0.690259</td>\n",
              "      <td>-0.184704</td>\n",
              "      <td>-0.550121</td>\n",
              "      <td>0.292213</td>\n",
              "      <td>0.888778</td>\n",
              "      <td>-1.350451</td>\n",
              "      <td>-0.380013</td>\n",
              "      <td>-0.903278</td>\n",
              "      <td>0.720270</td>\n",
              "      <td>-0.338288</td>\n",
              "      <td>-1.415428</td>\n",
              "      <td>-1.816353</td>\n",
              "      <td>-0.714603</td>\n",
              "      <td>1.513404</td>\n",
              "      <td>0.313343</td>\n",
              "      <td>0.850286</td>\n",
              "      <td>-1.260297</td>\n",
              "      <td>-0.008014</td>\n",
              "      <td>-1.766768</td>\n",
              "      <td>-0.441956</td>\n",
              "      <td>1.259540</td>\n",
              "      <td>-0.617760</td>\n",
              "      <td>0.215878</td>\n",
              "      <td>0.637295</td>\n",
              "      <td>1.159793</td>\n",
              "      <td>0.211436</td>\n",
              "      <td>1.209455</td>\n",
              "      <td>-0.471408</td>\n",
              "      <td>-0.141247</td>\n",
              "      <td>7</td>\n",
              "      <td>1.0</td>\n",
              "      <td>12</td>\n",
              "      <td>19.244681</td>\n",
              "      <td>32</td>\n",
              "      <td>6</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6361</th>\n",
              "      <td>0.989679</td>\n",
              "      <td>0.611094</td>\n",
              "      <td>-0.160414</td>\n",
              "      <td>0.247456</td>\n",
              "      <td>2.022717</td>\n",
              "      <td>-1.892770</td>\n",
              "      <td>-0.241637</td>\n",
              "      <td>-0.160358</td>\n",
              "      <td>-0.031606</td>\n",
              "      <td>0.603185</td>\n",
              "      <td>-0.095018</td>\n",
              "      <td>0.139879</td>\n",
              "      <td>-0.856950</td>\n",
              "      <td>2.335929</td>\n",
              "      <td>-0.916027</td>\n",
              "      <td>-0.574325</td>\n",
              "      <td>-0.066016</td>\n",
              "      <td>1.195724</td>\n",
              "      <td>0.809191</td>\n",
              "      <td>0.017124</td>\n",
              "      <td>2.058301</td>\n",
              "      <td>-1.109653</td>\n",
              "      <td>-0.836678</td>\n",
              "      <td>0.009617</td>\n",
              "      <td>0.375229</td>\n",
              "      <td>1.497986</td>\n",
              "      <td>-0.175830</td>\n",
              "      <td>-1.224077</td>\n",
              "      <td>0.752571</td>\n",
              "      <td>-0.987112</td>\n",
              "      <td>-0.367425</td>\n",
              "      <td>0.839996</td>\n",
              "      <td>-0.137600</td>\n",
              "      <td>0.764613</td>\n",
              "      <td>-1.193641</td>\n",
              "      <td>0.028556</td>\n",
              "      <td>0.552769</td>\n",
              "      <td>-1.229515</td>\n",
              "      <td>-0.134432</td>\n",
              "      <td>-0.143524</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.131060</td>\n",
              "      <td>-0.079049</td>\n",
              "      <td>-1.035033</td>\n",
              "      <td>-0.586575</td>\n",
              "      <td>-0.510038</td>\n",
              "      <td>0.728129</td>\n",
              "      <td>0.351726</td>\n",
              "      <td>0.144394</td>\n",
              "      <td>0.299896</td>\n",
              "      <td>-0.394314</td>\n",
              "      <td>0.375718</td>\n",
              "      <td>-0.109551</td>\n",
              "      <td>-1.979233</td>\n",
              "      <td>-0.140649</td>\n",
              "      <td>0.884533</td>\n",
              "      <td>-0.700498</td>\n",
              "      <td>-0.691179</td>\n",
              "      <td>-0.781267</td>\n",
              "      <td>0.174073</td>\n",
              "      <td>-0.176988</td>\n",
              "      <td>-0.804960</td>\n",
              "      <td>-1.226622</td>\n",
              "      <td>-1.124480</td>\n",
              "      <td>0.600502</td>\n",
              "      <td>0.193541</td>\n",
              "      <td>-0.331320</td>\n",
              "      <td>-0.825918</td>\n",
              "      <td>-0.256696</td>\n",
              "      <td>0.485181</td>\n",
              "      <td>0.274158</td>\n",
              "      <td>-1.008959</td>\n",
              "      <td>1.092276</td>\n",
              "      <td>0.991264</td>\n",
              "      <td>-0.797832</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>17</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6362</th>\n",
              "      <td>0.159290</td>\n",
              "      <td>-0.309288</td>\n",
              "      <td>-0.197516</td>\n",
              "      <td>-0.382866</td>\n",
              "      <td>0.575903</td>\n",
              "      <td>-1.772525</td>\n",
              "      <td>-1.103522</td>\n",
              "      <td>0.431614</td>\n",
              "      <td>-0.966930</td>\n",
              "      <td>0.197689</td>\n",
              "      <td>0.128192</td>\n",
              "      <td>-1.610602</td>\n",
              "      <td>0.017935</td>\n",
              "      <td>-0.365650</td>\n",
              "      <td>0.041987</td>\n",
              "      <td>-1.018554</td>\n",
              "      <td>0.501511</td>\n",
              "      <td>0.187269</td>\n",
              "      <td>-0.353269</td>\n",
              "      <td>0.291839</td>\n",
              "      <td>-1.268445</td>\n",
              "      <td>-0.167597</td>\n",
              "      <td>-1.015499</td>\n",
              "      <td>-0.512443</td>\n",
              "      <td>0.909563</td>\n",
              "      <td>0.642647</td>\n",
              "      <td>0.546405</td>\n",
              "      <td>-2.186997</td>\n",
              "      <td>0.310796</td>\n",
              "      <td>-0.327597</td>\n",
              "      <td>-0.296881</td>\n",
              "      <td>1.463647</td>\n",
              "      <td>-0.657463</td>\n",
              "      <td>0.861889</td>\n",
              "      <td>-0.393109</td>\n",
              "      <td>-0.917431</td>\n",
              "      <td>0.274244</td>\n",
              "      <td>-0.727890</td>\n",
              "      <td>-1.438075</td>\n",
              "      <td>0.918595</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.241771</td>\n",
              "      <td>-0.124518</td>\n",
              "      <td>-0.041276</td>\n",
              "      <td>-0.202407</td>\n",
              "      <td>-0.339880</td>\n",
              "      <td>0.517591</td>\n",
              "      <td>0.088085</td>\n",
              "      <td>-1.275168</td>\n",
              "      <td>0.566010</td>\n",
              "      <td>-0.065952</td>\n",
              "      <td>0.335475</td>\n",
              "      <td>-0.240537</td>\n",
              "      <td>-0.268206</td>\n",
              "      <td>0.091303</td>\n",
              "      <td>-0.417808</td>\n",
              "      <td>-0.119365</td>\n",
              "      <td>-0.177507</td>\n",
              "      <td>-0.046352</td>\n",
              "      <td>0.540498</td>\n",
              "      <td>-0.271136</td>\n",
              "      <td>-1.789810</td>\n",
              "      <td>-0.912391</td>\n",
              "      <td>0.017949</td>\n",
              "      <td>0.857248</td>\n",
              "      <td>-0.231175</td>\n",
              "      <td>-0.022643</td>\n",
              "      <td>0.081743</td>\n",
              "      <td>1.748166</td>\n",
              "      <td>-0.285780</td>\n",
              "      <td>0.195066</td>\n",
              "      <td>0.367714</td>\n",
              "      <td>0.669119</td>\n",
              "      <td>0.455258</td>\n",
              "      <td>1.138973</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>20</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6363</th>\n",
              "      <td>1.107766</td>\n",
              "      <td>-0.422999</td>\n",
              "      <td>0.139525</td>\n",
              "      <td>-0.361022</td>\n",
              "      <td>0.897191</td>\n",
              "      <td>-0.470967</td>\n",
              "      <td>-0.071133</td>\n",
              "      <td>1.650230</td>\n",
              "      <td>-0.536392</td>\n",
              "      <td>1.172297</td>\n",
              "      <td>1.743072</td>\n",
              "      <td>-0.185552</td>\n",
              "      <td>0.833054</td>\n",
              "      <td>-0.372078</td>\n",
              "      <td>-1.164413</td>\n",
              "      <td>-0.402861</td>\n",
              "      <td>0.830866</td>\n",
              "      <td>0.520768</td>\n",
              "      <td>1.459440</td>\n",
              "      <td>0.433651</td>\n",
              "      <td>0.234157</td>\n",
              "      <td>-0.898394</td>\n",
              "      <td>0.600337</td>\n",
              "      <td>0.597765</td>\n",
              "      <td>2.040062</td>\n",
              "      <td>0.521193</td>\n",
              "      <td>1.287928</td>\n",
              "      <td>-1.387270</td>\n",
              "      <td>-0.292372</td>\n",
              "      <td>-0.807771</td>\n",
              "      <td>0.364614</td>\n",
              "      <td>0.981625</td>\n",
              "      <td>-2.039056</td>\n",
              "      <td>-0.315794</td>\n",
              "      <td>0.588306</td>\n",
              "      <td>-1.618310</td>\n",
              "      <td>-0.434371</td>\n",
              "      <td>-0.733237</td>\n",
              "      <td>0.129407</td>\n",
              "      <td>-0.314444</td>\n",
              "      <td>...</td>\n",
              "      <td>0.246501</td>\n",
              "      <td>-1.490449</td>\n",
              "      <td>0.556190</td>\n",
              "      <td>-1.209351</td>\n",
              "      <td>0.389890</td>\n",
              "      <td>-1.226632</td>\n",
              "      <td>-0.851403</td>\n",
              "      <td>-1.946063</td>\n",
              "      <td>0.939233</td>\n",
              "      <td>-0.116450</td>\n",
              "      <td>-0.518959</td>\n",
              "      <td>-0.785759</td>\n",
              "      <td>-0.747875</td>\n",
              "      <td>-0.883653</td>\n",
              "      <td>-0.393297</td>\n",
              "      <td>-1.079683</td>\n",
              "      <td>-1.109455</td>\n",
              "      <td>0.519075</td>\n",
              "      <td>2.289182</td>\n",
              "      <td>0.323511</td>\n",
              "      <td>-0.679615</td>\n",
              "      <td>-1.549425</td>\n",
              "      <td>-0.436755</td>\n",
              "      <td>0.416451</td>\n",
              "      <td>-0.869452</td>\n",
              "      <td>-0.397032</td>\n",
              "      <td>0.285803</td>\n",
              "      <td>0.741697</td>\n",
              "      <td>-0.414377</td>\n",
              "      <td>1.093109</td>\n",
              "      <td>-0.733911</td>\n",
              "      <td>0.608804</td>\n",
              "      <td>-1.684462</td>\n",
              "      <td>0.773190</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "      <td>16</td>\n",
              "      <td>18.126013</td>\n",
              "      <td>41</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>6364 rows × 1030 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "             0         1         2  ...       mean  max  min\n",
              "0     0.330166 -0.247399 -0.870643  ...  18.126013   41    2\n",
              "1     0.278989  0.330942 -0.165491  ...  18.126013   41    2\n",
              "2     0.054071  0.683320 -0.719468  ...  18.126013   41    2\n",
              "3    -1.283736  1.077794  0.115693  ...  18.126013   41    2\n",
              "4    -0.685149  0.356008 -0.141167  ...  18.126013   41    2\n",
              "...        ...       ...       ...  ...        ...  ...  ...\n",
              "6359 -0.326086  0.941838 -0.743047  ...  18.126013   41    2\n",
              "6360 -0.350053  0.772783  0.031255  ...  19.244681   32    6\n",
              "6361  0.989679  0.611094 -0.160414  ...  18.126013   41    2\n",
              "6362  0.159290 -0.309288 -0.197516  ...  18.126013   41    2\n",
              "6363  1.107766 -0.422999  0.139525  ...  18.126013   41    2\n",
              "\n",
              "[6364 rows x 1030 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 130
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jY7Flv5_tLZ1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "981e4075-fddd-40bb-bc02-bfe9462f19a1"
      },
      "source": [
        "X = train.drop([\"Sentiment\"],axis=1)\n",
        "Y = train[['Sentiment']]\n",
        "\n",
        "params = {\n",
        "    \"od_type\":\"Iter\",\n",
        "    \"od_wait\":150,\n",
        "    \"iterations\":25000,\n",
        "    'learning_rate':0.0355,\n",
        "    \"eval_metric\":\"Accuracy\",\n",
        "    \"task_type\":\"GPU\",\n",
        "    \"boosting_type\":\"Plain\"\n",
        "}\n",
        "\n",
        "best_score = np.inf\n",
        "scores = []\n",
        "\n",
        "folds_large = KFold(n_splits=5,shuffle=True,random_state=1250)\n",
        "\n",
        "for train_idx , test_idx in folds_large.split(X,Y):\n",
        "  train_set = (X.iloc[train_idx],Y.iloc[train_idx])\n",
        "  test_set = (X.iloc[test_idx],Y.iloc[test_idx])\n",
        "\n",
        "  model = CatBoostClassifier(**params)\n",
        "  model.fit(*train_set,\n",
        "            cat_features = [\"Product_Type\"],\n",
        "            eval_set=[test_set],early_stopping_rounds=500,verbose=200)\n",
        "\n",
        "  score = log_loss(test_set[1].values,model.predict_proba(test_set[0]))\n",
        "  print(score)\n",
        "  scores.append(score)\n",
        "  \n",
        "\n",
        "  if score < best_score:\n",
        "    best_score = score\n",
        "    best_model = model\n",
        "\n",
        "  print(\"---\"*50)\n",
        "\n",
        "print(f\"Mean Score : {np.array(scores).mean()}\")\n",
        "print(f\"Min Score : {np.array(scores).min()}\")\n",
        "print(f\"Max Score : {np.array(scores).max()}\")\n",
        "\n",
        "plt.plot(scores)\n",
        "plt.plot(np.arange(len(scores)),[np.array(scores).mean()]*len(scores),)\n",
        "plt.show()\n",
        "\n",
        "model_large = best_model"
      ],
      "execution_count": 131,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8768415\ttest: 0.8774548\tbest: 0.8774548 (0)\ttotal: 57ms\tremaining: 23m 44s\n",
            "200:\tlearn: 0.9061088\ttest: 0.8884525\tbest: 0.8892380 (179)\ttotal: 6.88s\tremaining: 14m 9s\n",
            "400:\tlearn: 0.9129837\ttest: 0.8923802\tbest: 0.8931658 (266)\ttotal: 13.1s\tremaining: 13m 26s\n",
            "600:\tlearn: 0.9169122\ttest: 0.8915947\tbest: 0.8939513 (412)\ttotal: 19.3s\tremaining: 13m 4s\n",
            "800:\tlearn: 0.9251621\ttest: 0.8923802\tbest: 0.8947368 (783)\ttotal: 25.5s\tremaining: 12m 51s\n",
            "1000:\tlearn: 0.9359654\ttest: 0.8931658\tbest: 0.8955224 (909)\ttotal: 31.8s\tremaining: 12m 41s\n",
            "1200:\tlearn: 0.9453938\ttest: 0.8947368\tbest: 0.8955224 (909)\ttotal: 37.9s\tremaining: 12m 30s\n",
            "1400:\tlearn: 0.9558044\ttest: 0.8963079\tbest: 0.8963079 (1362)\ttotal: 43.9s\tremaining: 12m 18s\n",
            "1600:\tlearn: 0.9671970\ttest: 0.8955224\tbest: 0.8963079 (1362)\ttotal: 49.9s\tremaining: 12m 8s\n",
            "1800:\tlearn: 0.9772147\ttest: 0.8939513\tbest: 0.8963079 (1362)\ttotal: 55.9s\tremaining: 11m 59s\n",
            "bestTest = 0.896307934\n",
            "bestIteration = 1362\n",
            "Shrink model to first 1363 iterations.\n",
            "0.3800077808101205\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8764486\ttest: 0.8703849\tbest: 0.8703849 (0)\ttotal: 35.3ms\tremaining: 14m 42s\n",
            "200:\tlearn: 0.9027696\ttest: 0.8900236\tbest: 0.8900236 (65)\ttotal: 6.54s\tremaining: 13m 26s\n",
            "400:\tlearn: 0.9104302\ttest: 0.8892380\tbest: 0.8908091 (201)\ttotal: 12.6s\tremaining: 12m 54s\n",
            "600:\tlearn: 0.9155372\ttest: 0.8915947\tbest: 0.8915947 (501)\ttotal: 18.6s\tremaining: 12m 36s\n",
            "800:\tlearn: 0.9228049\ttest: 0.8923802\tbest: 0.8923802 (684)\ttotal: 24.8s\tremaining: 12m 28s\n",
            "1000:\tlearn: 0.9320369\ttest: 0.8931658\tbest: 0.8931658 (909)\ttotal: 30.9s\tremaining: 12m 19s\n",
            "1200:\tlearn: 0.9430367\ttest: 0.8931658\tbest: 0.8931658 (909)\ttotal: 36.9s\tremaining: 12m 10s\n",
            "1400:\tlearn: 0.9544294\ttest: 0.8939513\tbest: 0.8939513 (1269)\ttotal: 42.8s\tremaining: 12m 1s\n",
            "1600:\tlearn: 0.9668042\ttest: 0.8947368\tbest: 0.8947368 (1581)\ttotal: 48.9s\tremaining: 11m 54s\n",
            "1800:\tlearn: 0.9776075\ttest: 0.8955224\tbest: 0.8955224 (1759)\ttotal: 54.9s\tremaining: 11m 47s\n",
            "2000:\tlearn: 0.9870359\ttest: 0.8939513\tbest: 0.8955224 (1759)\ttotal: 1m 1s\tremaining: 11m 41s\n",
            "2200:\tlearn: 0.9897859\ttest: 0.8955224\tbest: 0.8955224 (1759)\ttotal: 1m 7s\tremaining: 11m 34s\n",
            "bestTest = 0.8955223881\n",
            "bestIteration = 1759\n",
            "Shrink model to first 1760 iterations.\n",
            "0.36468208117633394\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8780200\ttest: 0.8695994\tbest: 0.8695994 (0)\ttotal: 34.8ms\tremaining: 14m 31s\n",
            "200:\tlearn: 0.9051267\ttest: 0.8782404\tbest: 0.8782404 (192)\ttotal: 6.6s\tremaining: 13m 34s\n",
            "400:\tlearn: 0.9118051\ttest: 0.8821681\tbest: 0.8829537 (351)\ttotal: 12.8s\tremaining: 13m 3s\n",
            "600:\tlearn: 0.9182872\ttest: 0.8853103\tbest: 0.8853103 (549)\ttotal: 18.8s\tremaining: 12m 44s\n",
            "800:\tlearn: 0.9257513\ttest: 0.8876669\tbest: 0.8884525 (761)\ttotal: 24.9s\tremaining: 12m 31s\n",
            "1000:\tlearn: 0.9340012\ttest: 0.8868814\tbest: 0.8884525 (761)\ttotal: 31s\tremaining: 12m 24s\n",
            "1200:\tlearn: 0.9463760\ttest: 0.8892380\tbest: 0.8892380 (1090)\ttotal: 37s\tremaining: 12m 13s\n",
            "1400:\tlearn: 0.9589472\ttest: 0.8892380\tbest: 0.8892380 (1090)\ttotal: 43.1s\tremaining: 12m 5s\n",
            "bestTest = 0.8892380204\n",
            "bestIteration = 1090\n",
            "Shrink model to first 1091 iterations.\n",
            "0.39503962999341624\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8795914\ttest: 0.8617439\tbest: 0.8617439 (0)\ttotal: 34.8ms\tremaining: 14m 29s\n",
            "200:\tlearn: 0.9051267\ttest: 0.8703849\tbest: 0.8711705 (57)\ttotal: 6.65s\tremaining: 13m 40s\n",
            "400:\tlearn: 0.9106266\ttest: 0.8743126\tbest: 0.8743126 (278)\ttotal: 12.8s\tremaining: 13m 6s\n",
            "600:\tlearn: 0.9184836\ttest: 0.8743126\tbest: 0.8766693 (459)\ttotal: 18.9s\tremaining: 12m 45s\n",
            "800:\tlearn: 0.9243764\ttest: 0.8766693\tbest: 0.8766693 (459)\ttotal: 25s\tremaining: 12m 35s\n",
            "1000:\tlearn: 0.9336083\ttest: 0.8758837\tbest: 0.8782404 (917)\ttotal: 30.9s\tremaining: 12m 21s\n",
            "1200:\tlearn: 0.9434296\ttest: 0.8798115\tbest: 0.8813826 (1143)\ttotal: 37s\tremaining: 12m 13s\n",
            "1400:\tlearn: 0.9569829\ttest: 0.8798115\tbest: 0.8813826 (1143)\ttotal: 43s\tremaining: 12m 4s\n",
            "1600:\tlearn: 0.9664113\ttest: 0.8813826\tbest: 0.8821681 (1468)\ttotal: 49s\tremaining: 11m 56s\n",
            "1800:\tlearn: 0.9776075\ttest: 0.8821681\tbest: 0.8829537 (1640)\ttotal: 55.1s\tremaining: 11m 49s\n",
            "2000:\tlearn: 0.9854645\ttest: 0.8821681\tbest: 0.8829537 (1640)\ttotal: 1m 1s\tremaining: 11m 42s\n",
            "bestTest = 0.8829536528\n",
            "bestIteration = 1640\n",
            "Shrink model to first 1641 iterations.\n",
            "0.40365760223646935\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8703849\ttest: 0.8962264\tbest: 0.8962264 (0)\ttotal: 35.6ms\tremaining: 14m 50s\n",
            "200:\tlearn: 0.8988610\ttest: 0.9064465\tbest: 0.9064465 (192)\ttotal: 6.63s\tremaining: 13m 37s\n",
            "400:\tlearn: 0.9071092\ttest: 0.9095912\tbest: 0.9095912 (233)\ttotal: 12.8s\tremaining: 13m 6s\n",
            "600:\tlearn: 0.9124116\ttest: 0.9119497\tbest: 0.9127358 (598)\ttotal: 19s\tremaining: 12m 49s\n",
            "800:\tlearn: 0.9196779\ttest: 0.9135220\tbest: 0.9143082 (673)\ttotal: 25.1s\tremaining: 12m 37s\n",
            "1000:\tlearn: 0.9281225\ttest: 0.9150943\tbest: 0.9150943 (880)\ttotal: 31.4s\tremaining: 12m 31s\n",
            "1200:\tlearn: 0.9401021\ttest: 0.9143082\tbest: 0.9150943 (880)\ttotal: 37.5s\tremaining: 12m 22s\n",
            "bestTest = 0.9150943396\n",
            "bestIteration = 880\n",
            "Shrink model to first 881 iterations.\n",
            "0.3142403282491832\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n",
            "Mean Score : 0.37152548449310463\n",
            "Min Score : 0.3142403282491832\n",
            "Max Score : 0.40365760223646935\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ea64m-cclHJK",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 402
        },
        "outputId": "e90557b2-acb8-416a-ca0f-787ffe5a5a4f"
      },
      "source": [
        "pd.set_option(\"display.max_colwidth\",100)\n",
        "pd.set_option(\"display.max_rows\",150)\n",
        "m = pd.DataFrame(list(zip(X.columns,model_large.feature_importances_))).sort_values(1,ascending=False)\n",
        "m"
      ],
      "execution_count": 132,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>1024</th>\n",
              "      <td>Product_Type</td>\n",
              "      <td>29.832378</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1027</th>\n",
              "      <td>max</td>\n",
              "      <td>8.734614</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1028</th>\n",
              "      <td>min</td>\n",
              "      <td>5.098848</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>84</th>\n",
              "      <td>84</td>\n",
              "      <td>0.685681</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>181</th>\n",
              "      <td>181</td>\n",
              "      <td>0.611287</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>984</th>\n",
              "      <td>984</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>94</th>\n",
              "      <td>94</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>78</th>\n",
              "      <td>78</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>641</th>\n",
              "      <td>641</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>538</th>\n",
              "      <td>538</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>1029 rows × 2 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "                 0          1\n",
              "1024  Product_Type  29.832378\n",
              "1027           max   8.734614\n",
              "1028           min   5.098848\n",
              "84              84   0.685681\n",
              "181            181   0.611287\n",
              "...            ...        ...\n",
              "984            984   0.000000\n",
              "94              94   0.000000\n",
              "78              78   0.000000\n",
              "641            641   0.000000\n",
              "538            538   0.000000\n",
              "\n",
              "[1029 rows x 2 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 132
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-x9VGJsGzGqA",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 402
        },
        "outputId": "b77f485c-4e59-4ae4-eade-b176a55b7a22"
      },
      "source": [
        "submission = pd.DataFrame(model_large.predict_proba(test))\n",
        "submission.columns = [f'Class_{i}' for i in submission.columns]\n",
        "submission.to_csv(\"submission_large.csv\",index=False)\n",
        "submission"
      ],
      "execution_count": 133,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Class_0</th>\n",
              "      <th>Class_1</th>\n",
              "      <th>Class_2</th>\n",
              "      <th>Class_3</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.003947</td>\n",
              "      <td>0.032069</td>\n",
              "      <td>0.038009</td>\n",
              "      <td>0.925975</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.024846</td>\n",
              "      <td>0.026516</td>\n",
              "      <td>0.906718</td>\n",
              "      <td>0.041919</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.023061</td>\n",
              "      <td>0.009414</td>\n",
              "      <td>0.912512</td>\n",
              "      <td>0.055013</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.000932</td>\n",
              "      <td>0.012340</td>\n",
              "      <td>0.006057</td>\n",
              "      <td>0.980671</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.014249</td>\n",
              "      <td>0.004972</td>\n",
              "      <td>0.956753</td>\n",
              "      <td>0.024026</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2723</th>\n",
              "      <td>0.020405</td>\n",
              "      <td>0.025688</td>\n",
              "      <td>0.929680</td>\n",
              "      <td>0.024226</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2724</th>\n",
              "      <td>0.007345</td>\n",
              "      <td>0.005042</td>\n",
              "      <td>0.950907</td>\n",
              "      <td>0.036706</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2725</th>\n",
              "      <td>0.002963</td>\n",
              "      <td>0.022533</td>\n",
              "      <td>0.030574</td>\n",
              "      <td>0.943929</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2726</th>\n",
              "      <td>0.015004</td>\n",
              "      <td>0.006458</td>\n",
              "      <td>0.941074</td>\n",
              "      <td>0.037464</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2727</th>\n",
              "      <td>0.029397</td>\n",
              "      <td>0.141364</td>\n",
              "      <td>0.052039</td>\n",
              "      <td>0.777200</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>2728 rows × 4 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "       Class_0   Class_1   Class_2   Class_3\n",
              "0     0.003947  0.032069  0.038009  0.925975\n",
              "1     0.024846  0.026516  0.906718  0.041919\n",
              "2     0.023061  0.009414  0.912512  0.055013\n",
              "3     0.000932  0.012340  0.006057  0.980671\n",
              "4     0.014249  0.004972  0.956753  0.024026\n",
              "...        ...       ...       ...       ...\n",
              "2723  0.020405  0.025688  0.929680  0.024226\n",
              "2724  0.007345  0.005042  0.950907  0.036706\n",
              "2725  0.002963  0.022533  0.030574  0.943929\n",
              "2726  0.015004  0.006458  0.941074  0.037464\n",
              "2727  0.029397  0.141364  0.052039  0.777200\n",
              "\n",
              "[2728 rows x 4 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 133
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "kc_K3aUpiRXF",
        "colab": {}
      },
      "source": [
        "from sentence_transformers import SentenceTransformer\n",
        "base_embedder = SentenceTransformer('roberta-base-nli-stsb-mean-tokens')"
      ],
      "execution_count": 134,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "Ctf-OafEiRXP",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 99,
          "referenced_widgets": [
            "a11cc23b628e43e5934ff2228849112a",
            "c08cef05dbc24829a7500a29f339e0c3",
            "57c7e612be9d40a48a1456ac37660c3b",
            "033b3b29c31f4188addf24e33554e20c",
            "8730b8c20724426c9c23e72c7b3b9cc7",
            "4e6f4688b7384b9ba9c9d296c081da84",
            "a087660694eb4cf196fd7d1aa9461578",
            "3b5498c72ac5455a83d4713c4d2fba82"
          ]
        },
        "outputId": "77d471d9-6b05-4bd2-ed19-c056d6557d05"
      },
      "source": [
        "%%time\n",
        "base_embeddings = base_embedder.encode(merge.Product_Description.values.tolist(),batch_size=128,show_progress_bar=True)"
      ],
      "execution_count": 135,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "a11cc23b628e43e5934ff2228849112a",
              "version_minor": 0,
              "version_major": 2
            },
            "text/plain": [
              "HBox(children=(FloatProgress(value=0.0, description='Batches', max=72.0, style=ProgressStyle(description_width…"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "stream",
          "text": [
            "\n",
            "CPU times: user 16.5 s, sys: 9.02 s, total: 25.6 s\n",
            "Wall time: 25.6 s\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "u0_IcTDAiRXS",
        "colab": {}
      },
      "source": [
        "from sklearn.linear_model import LogisticRegression\n",
        "from sklearn.metrics  import log_loss\n",
        "from lightgbm import LGBMClassifier\n",
        "from xgboost import XGBClassifier\n",
        "from sklearn.model_selection import StratifiedKFold\n",
        "from catboost import CatBoostClassifier"
      ],
      "execution_count": 136,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "0ik8nNk0iRXU",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 244
        },
        "outputId": "6e057cf1-7ef6-4cc1-a77d-0b9e6e14fee7"
      },
      "source": [
        "data = pd.DataFrame(base_embeddings)\n",
        "data['product'] = merge.Product_Type.values\n",
        "data['Sentiment'] = merge.Sentiment.values\n",
        "data.head()"
      ],
      "execution_count": 137,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "      <th>5</th>\n",
              "      <th>6</th>\n",
              "      <th>7</th>\n",
              "      <th>8</th>\n",
              "      <th>9</th>\n",
              "      <th>10</th>\n",
              "      <th>11</th>\n",
              "      <th>12</th>\n",
              "      <th>13</th>\n",
              "      <th>14</th>\n",
              "      <th>15</th>\n",
              "      <th>16</th>\n",
              "      <th>17</th>\n",
              "      <th>18</th>\n",
              "      <th>19</th>\n",
              "      <th>20</th>\n",
              "      <th>21</th>\n",
              "      <th>22</th>\n",
              "      <th>23</th>\n",
              "      <th>24</th>\n",
              "      <th>25</th>\n",
              "      <th>26</th>\n",
              "      <th>27</th>\n",
              "      <th>28</th>\n",
              "      <th>29</th>\n",
              "      <th>30</th>\n",
              "      <th>31</th>\n",
              "      <th>32</th>\n",
              "      <th>33</th>\n",
              "      <th>34</th>\n",
              "      <th>35</th>\n",
              "      <th>36</th>\n",
              "      <th>37</th>\n",
              "      <th>38</th>\n",
              "      <th>39</th>\n",
              "      <th>...</th>\n",
              "      <th>730</th>\n",
              "      <th>731</th>\n",
              "      <th>732</th>\n",
              "      <th>733</th>\n",
              "      <th>734</th>\n",
              "      <th>735</th>\n",
              "      <th>736</th>\n",
              "      <th>737</th>\n",
              "      <th>738</th>\n",
              "      <th>739</th>\n",
              "      <th>740</th>\n",
              "      <th>741</th>\n",
              "      <th>742</th>\n",
              "      <th>743</th>\n",
              "      <th>744</th>\n",
              "      <th>745</th>\n",
              "      <th>746</th>\n",
              "      <th>747</th>\n",
              "      <th>748</th>\n",
              "      <th>749</th>\n",
              "      <th>750</th>\n",
              "      <th>751</th>\n",
              "      <th>752</th>\n",
              "      <th>753</th>\n",
              "      <th>754</th>\n",
              "      <th>755</th>\n",
              "      <th>756</th>\n",
              "      <th>757</th>\n",
              "      <th>758</th>\n",
              "      <th>759</th>\n",
              "      <th>760</th>\n",
              "      <th>761</th>\n",
              "      <th>762</th>\n",
              "      <th>763</th>\n",
              "      <th>764</th>\n",
              "      <th>765</th>\n",
              "      <th>766</th>\n",
              "      <th>767</th>\n",
              "      <th>product</th>\n",
              "      <th>Sentiment</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>-0.213891</td>\n",
              "      <td>-0.078238</td>\n",
              "      <td>0.425071</td>\n",
              "      <td>0.070154</td>\n",
              "      <td>-1.074826</td>\n",
              "      <td>0.550597</td>\n",
              "      <td>-0.037864</td>\n",
              "      <td>-0.941950</td>\n",
              "      <td>-0.268316</td>\n",
              "      <td>-0.193890</td>\n",
              "      <td>-0.715720</td>\n",
              "      <td>-0.916271</td>\n",
              "      <td>0.349077</td>\n",
              "      <td>2.603540</td>\n",
              "      <td>-0.809140</td>\n",
              "      <td>-0.517891</td>\n",
              "      <td>-0.613943</td>\n",
              "      <td>-0.071861</td>\n",
              "      <td>0.649604</td>\n",
              "      <td>0.367173</td>\n",
              "      <td>-0.763611</td>\n",
              "      <td>-0.734709</td>\n",
              "      <td>-1.457823</td>\n",
              "      <td>0.942834</td>\n",
              "      <td>0.230983</td>\n",
              "      <td>-0.227856</td>\n",
              "      <td>0.006733</td>\n",
              "      <td>-0.620645</td>\n",
              "      <td>-0.292910</td>\n",
              "      <td>0.870090</td>\n",
              "      <td>0.007131</td>\n",
              "      <td>0.351151</td>\n",
              "      <td>-0.023496</td>\n",
              "      <td>-1.252404</td>\n",
              "      <td>0.010694</td>\n",
              "      <td>0.275839</td>\n",
              "      <td>1.444032</td>\n",
              "      <td>0.154453</td>\n",
              "      <td>-0.187871</td>\n",
              "      <td>0.398616</td>\n",
              "      <td>...</td>\n",
              "      <td>0.868394</td>\n",
              "      <td>-0.326263</td>\n",
              "      <td>-0.124643</td>\n",
              "      <td>-1.243667</td>\n",
              "      <td>0.085748</td>\n",
              "      <td>1.448837</td>\n",
              "      <td>-0.943065</td>\n",
              "      <td>-0.522148</td>\n",
              "      <td>-0.666418</td>\n",
              "      <td>1.125074</td>\n",
              "      <td>-0.179955</td>\n",
              "      <td>-0.775389</td>\n",
              "      <td>0.708536</td>\n",
              "      <td>0.009817</td>\n",
              "      <td>0.076142</td>\n",
              "      <td>-0.168705</td>\n",
              "      <td>-1.096211</td>\n",
              "      <td>0.979141</td>\n",
              "      <td>-1.188685</td>\n",
              "      <td>0.732397</td>\n",
              "      <td>3.028974</td>\n",
              "      <td>0.011724</td>\n",
              "      <td>-0.001380</td>\n",
              "      <td>0.729547</td>\n",
              "      <td>-0.601280</td>\n",
              "      <td>-0.275465</td>\n",
              "      <td>0.252104</td>\n",
              "      <td>-0.515478</td>\n",
              "      <td>-0.310147</td>\n",
              "      <td>-1.296505</td>\n",
              "      <td>-0.788538</td>\n",
              "      <td>0.141525</td>\n",
              "      <td>0.052003</td>\n",
              "      <td>-0.038398</td>\n",
              "      <td>-0.338130</td>\n",
              "      <td>-0.666647</td>\n",
              "      <td>-0.774718</td>\n",
              "      <td>0.726099</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.346897</td>\n",
              "      <td>0.472381</td>\n",
              "      <td>0.174338</td>\n",
              "      <td>0.382897</td>\n",
              "      <td>0.700835</td>\n",
              "      <td>-0.872198</td>\n",
              "      <td>0.105460</td>\n",
              "      <td>-1.294668</td>\n",
              "      <td>0.211178</td>\n",
              "      <td>-0.362303</td>\n",
              "      <td>-0.059532</td>\n",
              "      <td>-0.872605</td>\n",
              "      <td>-0.133363</td>\n",
              "      <td>1.566071</td>\n",
              "      <td>-0.156924</td>\n",
              "      <td>-0.149478</td>\n",
              "      <td>1.586046</td>\n",
              "      <td>0.302142</td>\n",
              "      <td>0.831895</td>\n",
              "      <td>0.184374</td>\n",
              "      <td>-0.863886</td>\n",
              "      <td>-0.985158</td>\n",
              "      <td>0.010297</td>\n",
              "      <td>0.304478</td>\n",
              "      <td>0.733571</td>\n",
              "      <td>-0.502839</td>\n",
              "      <td>1.414683</td>\n",
              "      <td>0.092137</td>\n",
              "      <td>-0.135936</td>\n",
              "      <td>-0.444432</td>\n",
              "      <td>-0.992244</td>\n",
              "      <td>-0.723864</td>\n",
              "      <td>0.307737</td>\n",
              "      <td>-0.396365</td>\n",
              "      <td>1.258617</td>\n",
              "      <td>0.617504</td>\n",
              "      <td>0.197210</td>\n",
              "      <td>-0.808148</td>\n",
              "      <td>-0.201551</td>\n",
              "      <td>0.492024</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.331355</td>\n",
              "      <td>-0.292538</td>\n",
              "      <td>-0.058145</td>\n",
              "      <td>1.397172</td>\n",
              "      <td>-0.057946</td>\n",
              "      <td>0.159776</td>\n",
              "      <td>0.698493</td>\n",
              "      <td>-0.977788</td>\n",
              "      <td>0.124116</td>\n",
              "      <td>1.854668</td>\n",
              "      <td>0.560096</td>\n",
              "      <td>0.068177</td>\n",
              "      <td>0.567219</td>\n",
              "      <td>-0.161923</td>\n",
              "      <td>0.272068</td>\n",
              "      <td>0.703146</td>\n",
              "      <td>-1.147981</td>\n",
              "      <td>0.189706</td>\n",
              "      <td>-0.526907</td>\n",
              "      <td>0.583281</td>\n",
              "      <td>0.246789</td>\n",
              "      <td>-0.592045</td>\n",
              "      <td>-1.132094</td>\n",
              "      <td>-1.183340</td>\n",
              "      <td>0.059489</td>\n",
              "      <td>-0.124017</td>\n",
              "      <td>-0.234554</td>\n",
              "      <td>0.381857</td>\n",
              "      <td>-0.445966</td>\n",
              "      <td>-0.121627</td>\n",
              "      <td>0.382500</td>\n",
              "      <td>-0.253044</td>\n",
              "      <td>-0.061906</td>\n",
              "      <td>-0.280201</td>\n",
              "      <td>1.683886</td>\n",
              "      <td>0.369114</td>\n",
              "      <td>-0.061391</td>\n",
              "      <td>-0.071464</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>-0.248374</td>\n",
              "      <td>-0.218983</td>\n",
              "      <td>-0.784726</td>\n",
              "      <td>-0.593704</td>\n",
              "      <td>1.147770</td>\n",
              "      <td>0.023220</td>\n",
              "      <td>0.095660</td>\n",
              "      <td>-0.953652</td>\n",
              "      <td>1.356774</td>\n",
              "      <td>-0.427180</td>\n",
              "      <td>-0.530058</td>\n",
              "      <td>-0.766577</td>\n",
              "      <td>0.545994</td>\n",
              "      <td>0.167234</td>\n",
              "      <td>-0.324808</td>\n",
              "      <td>-0.668764</td>\n",
              "      <td>-0.207123</td>\n",
              "      <td>-0.418613</td>\n",
              "      <td>0.311895</td>\n",
              "      <td>0.082977</td>\n",
              "      <td>-0.942546</td>\n",
              "      <td>0.326792</td>\n",
              "      <td>-0.123100</td>\n",
              "      <td>1.035103</td>\n",
              "      <td>0.442711</td>\n",
              "      <td>0.321313</td>\n",
              "      <td>0.260159</td>\n",
              "      <td>0.161752</td>\n",
              "      <td>-0.653465</td>\n",
              "      <td>1.138607</td>\n",
              "      <td>-0.334309</td>\n",
              "      <td>-0.101767</td>\n",
              "      <td>0.381816</td>\n",
              "      <td>0.111046</td>\n",
              "      <td>-0.066623</td>\n",
              "      <td>1.274009</td>\n",
              "      <td>0.387225</td>\n",
              "      <td>0.030632</td>\n",
              "      <td>0.660716</td>\n",
              "      <td>0.925087</td>\n",
              "      <td>...</td>\n",
              "      <td>0.325309</td>\n",
              "      <td>-0.361140</td>\n",
              "      <td>0.315072</td>\n",
              "      <td>-0.062287</td>\n",
              "      <td>-0.351336</td>\n",
              "      <td>0.217062</td>\n",
              "      <td>-0.919611</td>\n",
              "      <td>-0.416872</td>\n",
              "      <td>-0.206933</td>\n",
              "      <td>0.725789</td>\n",
              "      <td>-0.272595</td>\n",
              "      <td>-0.156145</td>\n",
              "      <td>0.928169</td>\n",
              "      <td>1.190146</td>\n",
              "      <td>0.525851</td>\n",
              "      <td>-0.167361</td>\n",
              "      <td>-0.710153</td>\n",
              "      <td>0.788994</td>\n",
              "      <td>-1.088127</td>\n",
              "      <td>0.545343</td>\n",
              "      <td>1.018182</td>\n",
              "      <td>0.055636</td>\n",
              "      <td>-1.130888</td>\n",
              "      <td>-0.019745</td>\n",
              "      <td>0.754385</td>\n",
              "      <td>-0.353050</td>\n",
              "      <td>-0.670044</td>\n",
              "      <td>0.891854</td>\n",
              "      <td>-0.557710</td>\n",
              "      <td>-0.177769</td>\n",
              "      <td>-1.028671</td>\n",
              "      <td>-0.342752</td>\n",
              "      <td>-0.799658</td>\n",
              "      <td>0.052376</td>\n",
              "      <td>-0.883920</td>\n",
              "      <td>-0.313136</td>\n",
              "      <td>-0.394877</td>\n",
              "      <td>0.741146</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>-0.204622</td>\n",
              "      <td>-0.484248</td>\n",
              "      <td>-0.732612</td>\n",
              "      <td>0.275957</td>\n",
              "      <td>0.471215</td>\n",
              "      <td>0.073467</td>\n",
              "      <td>0.497068</td>\n",
              "      <td>-0.904281</td>\n",
              "      <td>-1.605590</td>\n",
              "      <td>-0.668992</td>\n",
              "      <td>0.835571</td>\n",
              "      <td>-0.660801</td>\n",
              "      <td>0.076708</td>\n",
              "      <td>1.915383</td>\n",
              "      <td>0.351461</td>\n",
              "      <td>-0.662171</td>\n",
              "      <td>0.680130</td>\n",
              "      <td>-1.029940</td>\n",
              "      <td>0.284061</td>\n",
              "      <td>-0.761202</td>\n",
              "      <td>-0.663740</td>\n",
              "      <td>-1.056454</td>\n",
              "      <td>-0.343305</td>\n",
              "      <td>0.574852</td>\n",
              "      <td>0.764908</td>\n",
              "      <td>-0.247111</td>\n",
              "      <td>0.409610</td>\n",
              "      <td>0.430698</td>\n",
              "      <td>-1.319610</td>\n",
              "      <td>0.436422</td>\n",
              "      <td>-0.234470</td>\n",
              "      <td>0.419508</td>\n",
              "      <td>0.121124</td>\n",
              "      <td>-0.401447</td>\n",
              "      <td>-0.716405</td>\n",
              "      <td>-1.051661</td>\n",
              "      <td>0.530521</td>\n",
              "      <td>0.337924</td>\n",
              "      <td>-1.012575</td>\n",
              "      <td>-0.064082</td>\n",
              "      <td>...</td>\n",
              "      <td>0.076826</td>\n",
              "      <td>-0.635222</td>\n",
              "      <td>-0.556684</td>\n",
              "      <td>-0.228781</td>\n",
              "      <td>-0.278833</td>\n",
              "      <td>0.887008</td>\n",
              "      <td>-0.332633</td>\n",
              "      <td>-0.767181</td>\n",
              "      <td>0.344229</td>\n",
              "      <td>0.854492</td>\n",
              "      <td>1.427894</td>\n",
              "      <td>-0.567931</td>\n",
              "      <td>0.493857</td>\n",
              "      <td>-0.442764</td>\n",
              "      <td>0.487027</td>\n",
              "      <td>0.250618</td>\n",
              "      <td>-0.310737</td>\n",
              "      <td>1.045621</td>\n",
              "      <td>0.383705</td>\n",
              "      <td>0.190902</td>\n",
              "      <td>0.817357</td>\n",
              "      <td>-0.621837</td>\n",
              "      <td>-1.769949</td>\n",
              "      <td>-0.745834</td>\n",
              "      <td>-0.638200</td>\n",
              "      <td>0.393691</td>\n",
              "      <td>0.297210</td>\n",
              "      <td>0.084747</td>\n",
              "      <td>-0.735879</td>\n",
              "      <td>-0.543804</td>\n",
              "      <td>-1.393754</td>\n",
              "      <td>-1.021259</td>\n",
              "      <td>0.801925</td>\n",
              "      <td>-0.419522</td>\n",
              "      <td>0.898904</td>\n",
              "      <td>-0.391650</td>\n",
              "      <td>0.088145</td>\n",
              "      <td>0.047161</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.041501</td>\n",
              "      <td>0.722250</td>\n",
              "      <td>0.075888</td>\n",
              "      <td>0.485219</td>\n",
              "      <td>0.052402</td>\n",
              "      <td>-0.000331</td>\n",
              "      <td>0.575877</td>\n",
              "      <td>-0.414607</td>\n",
              "      <td>1.207511</td>\n",
              "      <td>-0.053549</td>\n",
              "      <td>-0.150645</td>\n",
              "      <td>0.876221</td>\n",
              "      <td>-0.437835</td>\n",
              "      <td>1.793088</td>\n",
              "      <td>0.008185</td>\n",
              "      <td>-0.156190</td>\n",
              "      <td>-0.854152</td>\n",
              "      <td>-0.404375</td>\n",
              "      <td>0.952931</td>\n",
              "      <td>1.199941</td>\n",
              "      <td>-0.733764</td>\n",
              "      <td>0.695882</td>\n",
              "      <td>0.126193</td>\n",
              "      <td>0.091031</td>\n",
              "      <td>1.174719</td>\n",
              "      <td>-0.076282</td>\n",
              "      <td>0.488973</td>\n",
              "      <td>-0.461731</td>\n",
              "      <td>-0.204821</td>\n",
              "      <td>-0.520779</td>\n",
              "      <td>-0.139238</td>\n",
              "      <td>0.479901</td>\n",
              "      <td>-0.803969</td>\n",
              "      <td>-0.378926</td>\n",
              "      <td>1.979361</td>\n",
              "      <td>-0.052740</td>\n",
              "      <td>-0.020152</td>\n",
              "      <td>0.455714</td>\n",
              "      <td>0.718171</td>\n",
              "      <td>0.010564</td>\n",
              "      <td>...</td>\n",
              "      <td>0.993646</td>\n",
              "      <td>0.523448</td>\n",
              "      <td>-0.659795</td>\n",
              "      <td>-0.436314</td>\n",
              "      <td>-0.001658</td>\n",
              "      <td>0.815864</td>\n",
              "      <td>-0.058772</td>\n",
              "      <td>-0.983259</td>\n",
              "      <td>-0.923401</td>\n",
              "      <td>-0.111849</td>\n",
              "      <td>-0.288736</td>\n",
              "      <td>-0.057237</td>\n",
              "      <td>0.978343</td>\n",
              "      <td>0.805278</td>\n",
              "      <td>0.265515</td>\n",
              "      <td>0.485830</td>\n",
              "      <td>-0.681778</td>\n",
              "      <td>0.123266</td>\n",
              "      <td>-0.469058</td>\n",
              "      <td>0.682395</td>\n",
              "      <td>1.624950</td>\n",
              "      <td>0.500524</td>\n",
              "      <td>0.006724</td>\n",
              "      <td>-0.470188</td>\n",
              "      <td>0.145615</td>\n",
              "      <td>0.019362</td>\n",
              "      <td>1.157897</td>\n",
              "      <td>0.022075</td>\n",
              "      <td>-1.031454</td>\n",
              "      <td>-0.652307</td>\n",
              "      <td>0.118689</td>\n",
              "      <td>1.250860</td>\n",
              "      <td>0.643751</td>\n",
              "      <td>0.165138</td>\n",
              "      <td>1.584227</td>\n",
              "      <td>0.424471</td>\n",
              "      <td>-1.077421</td>\n",
              "      <td>0.588641</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>5 rows × 770 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "          0         1         2  ...       767  product  Sentiment\n",
              "0 -0.213891 -0.078238  0.425071  ...  0.726099        9        2.0\n",
              "1  0.346897  0.472381  0.174338  ... -0.071464        9        2.0\n",
              "2 -0.248374 -0.218983 -0.784726  ...  0.741146        9        2.0\n",
              "3 -0.204622 -0.484248 -0.732612  ...  0.047161        9        2.0\n",
              "4  0.041501  0.722250  0.075888  ...  0.588641        9        2.0\n",
              "\n",
              "[5 rows x 770 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 137
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "Xe8uXNOTiRXW",
        "colab": {}
      },
      "source": [
        "train = data[~data.Sentiment.isna()]\n",
        "test = data[data.Sentiment.isna()]\n",
        "test.drop(\"Sentiment\",axis=1,inplace=True)"
      ],
      "execution_count": 138,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "dbXZ1CjGiRXY",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 422
        },
        "outputId": "534a590b-8892-4313-c4fa-be71192ae927"
      },
      "source": [
        "train"
      ],
      "execution_count": 139,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "      <th>5</th>\n",
              "      <th>6</th>\n",
              "      <th>7</th>\n",
              "      <th>8</th>\n",
              "      <th>9</th>\n",
              "      <th>10</th>\n",
              "      <th>11</th>\n",
              "      <th>12</th>\n",
              "      <th>13</th>\n",
              "      <th>14</th>\n",
              "      <th>15</th>\n",
              "      <th>16</th>\n",
              "      <th>17</th>\n",
              "      <th>18</th>\n",
              "      <th>19</th>\n",
              "      <th>20</th>\n",
              "      <th>21</th>\n",
              "      <th>22</th>\n",
              "      <th>23</th>\n",
              "      <th>24</th>\n",
              "      <th>25</th>\n",
              "      <th>26</th>\n",
              "      <th>27</th>\n",
              "      <th>28</th>\n",
              "      <th>29</th>\n",
              "      <th>30</th>\n",
              "      <th>31</th>\n",
              "      <th>32</th>\n",
              "      <th>33</th>\n",
              "      <th>34</th>\n",
              "      <th>35</th>\n",
              "      <th>36</th>\n",
              "      <th>37</th>\n",
              "      <th>38</th>\n",
              "      <th>39</th>\n",
              "      <th>...</th>\n",
              "      <th>730</th>\n",
              "      <th>731</th>\n",
              "      <th>732</th>\n",
              "      <th>733</th>\n",
              "      <th>734</th>\n",
              "      <th>735</th>\n",
              "      <th>736</th>\n",
              "      <th>737</th>\n",
              "      <th>738</th>\n",
              "      <th>739</th>\n",
              "      <th>740</th>\n",
              "      <th>741</th>\n",
              "      <th>742</th>\n",
              "      <th>743</th>\n",
              "      <th>744</th>\n",
              "      <th>745</th>\n",
              "      <th>746</th>\n",
              "      <th>747</th>\n",
              "      <th>748</th>\n",
              "      <th>749</th>\n",
              "      <th>750</th>\n",
              "      <th>751</th>\n",
              "      <th>752</th>\n",
              "      <th>753</th>\n",
              "      <th>754</th>\n",
              "      <th>755</th>\n",
              "      <th>756</th>\n",
              "      <th>757</th>\n",
              "      <th>758</th>\n",
              "      <th>759</th>\n",
              "      <th>760</th>\n",
              "      <th>761</th>\n",
              "      <th>762</th>\n",
              "      <th>763</th>\n",
              "      <th>764</th>\n",
              "      <th>765</th>\n",
              "      <th>766</th>\n",
              "      <th>767</th>\n",
              "      <th>product</th>\n",
              "      <th>Sentiment</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>-0.213891</td>\n",
              "      <td>-0.078238</td>\n",
              "      <td>0.425071</td>\n",
              "      <td>0.070154</td>\n",
              "      <td>-1.074826</td>\n",
              "      <td>0.550597</td>\n",
              "      <td>-0.037864</td>\n",
              "      <td>-0.941950</td>\n",
              "      <td>-0.268316</td>\n",
              "      <td>-0.193890</td>\n",
              "      <td>-0.715720</td>\n",
              "      <td>-0.916271</td>\n",
              "      <td>0.349077</td>\n",
              "      <td>2.603540</td>\n",
              "      <td>-0.809140</td>\n",
              "      <td>-0.517891</td>\n",
              "      <td>-0.613943</td>\n",
              "      <td>-0.071861</td>\n",
              "      <td>0.649604</td>\n",
              "      <td>0.367173</td>\n",
              "      <td>-0.763611</td>\n",
              "      <td>-0.734709</td>\n",
              "      <td>-1.457823</td>\n",
              "      <td>0.942834</td>\n",
              "      <td>0.230983</td>\n",
              "      <td>-0.227856</td>\n",
              "      <td>0.006733</td>\n",
              "      <td>-0.620645</td>\n",
              "      <td>-0.292910</td>\n",
              "      <td>0.870090</td>\n",
              "      <td>0.007131</td>\n",
              "      <td>0.351151</td>\n",
              "      <td>-0.023496</td>\n",
              "      <td>-1.252404</td>\n",
              "      <td>0.010694</td>\n",
              "      <td>0.275839</td>\n",
              "      <td>1.444032</td>\n",
              "      <td>0.154453</td>\n",
              "      <td>-0.187871</td>\n",
              "      <td>0.398616</td>\n",
              "      <td>...</td>\n",
              "      <td>0.868394</td>\n",
              "      <td>-0.326263</td>\n",
              "      <td>-0.124643</td>\n",
              "      <td>-1.243667</td>\n",
              "      <td>0.085748</td>\n",
              "      <td>1.448837</td>\n",
              "      <td>-0.943065</td>\n",
              "      <td>-0.522148</td>\n",
              "      <td>-0.666418</td>\n",
              "      <td>1.125074</td>\n",
              "      <td>-0.179955</td>\n",
              "      <td>-0.775389</td>\n",
              "      <td>0.708536</td>\n",
              "      <td>0.009817</td>\n",
              "      <td>0.076142</td>\n",
              "      <td>-0.168705</td>\n",
              "      <td>-1.096211</td>\n",
              "      <td>0.979141</td>\n",
              "      <td>-1.188685</td>\n",
              "      <td>0.732397</td>\n",
              "      <td>3.028974</td>\n",
              "      <td>0.011724</td>\n",
              "      <td>-0.001380</td>\n",
              "      <td>0.729547</td>\n",
              "      <td>-0.601280</td>\n",
              "      <td>-0.275465</td>\n",
              "      <td>0.252104</td>\n",
              "      <td>-0.515478</td>\n",
              "      <td>-0.310147</td>\n",
              "      <td>-1.296505</td>\n",
              "      <td>-0.788538</td>\n",
              "      <td>0.141525</td>\n",
              "      <td>0.052003</td>\n",
              "      <td>-0.038398</td>\n",
              "      <td>-0.338130</td>\n",
              "      <td>-0.666647</td>\n",
              "      <td>-0.774718</td>\n",
              "      <td>0.726099</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.346897</td>\n",
              "      <td>0.472381</td>\n",
              "      <td>0.174338</td>\n",
              "      <td>0.382897</td>\n",
              "      <td>0.700835</td>\n",
              "      <td>-0.872198</td>\n",
              "      <td>0.105460</td>\n",
              "      <td>-1.294668</td>\n",
              "      <td>0.211178</td>\n",
              "      <td>-0.362303</td>\n",
              "      <td>-0.059532</td>\n",
              "      <td>-0.872605</td>\n",
              "      <td>-0.133363</td>\n",
              "      <td>1.566071</td>\n",
              "      <td>-0.156924</td>\n",
              "      <td>-0.149478</td>\n",
              "      <td>1.586046</td>\n",
              "      <td>0.302142</td>\n",
              "      <td>0.831895</td>\n",
              "      <td>0.184374</td>\n",
              "      <td>-0.863886</td>\n",
              "      <td>-0.985158</td>\n",
              "      <td>0.010297</td>\n",
              "      <td>0.304478</td>\n",
              "      <td>0.733571</td>\n",
              "      <td>-0.502839</td>\n",
              "      <td>1.414683</td>\n",
              "      <td>0.092137</td>\n",
              "      <td>-0.135936</td>\n",
              "      <td>-0.444432</td>\n",
              "      <td>-0.992244</td>\n",
              "      <td>-0.723864</td>\n",
              "      <td>0.307737</td>\n",
              "      <td>-0.396365</td>\n",
              "      <td>1.258617</td>\n",
              "      <td>0.617504</td>\n",
              "      <td>0.197210</td>\n",
              "      <td>-0.808148</td>\n",
              "      <td>-0.201551</td>\n",
              "      <td>0.492024</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.331355</td>\n",
              "      <td>-0.292538</td>\n",
              "      <td>-0.058145</td>\n",
              "      <td>1.397172</td>\n",
              "      <td>-0.057946</td>\n",
              "      <td>0.159776</td>\n",
              "      <td>0.698493</td>\n",
              "      <td>-0.977788</td>\n",
              "      <td>0.124116</td>\n",
              "      <td>1.854668</td>\n",
              "      <td>0.560096</td>\n",
              "      <td>0.068177</td>\n",
              "      <td>0.567219</td>\n",
              "      <td>-0.161923</td>\n",
              "      <td>0.272068</td>\n",
              "      <td>0.703146</td>\n",
              "      <td>-1.147981</td>\n",
              "      <td>0.189706</td>\n",
              "      <td>-0.526907</td>\n",
              "      <td>0.583281</td>\n",
              "      <td>0.246789</td>\n",
              "      <td>-0.592045</td>\n",
              "      <td>-1.132094</td>\n",
              "      <td>-1.183340</td>\n",
              "      <td>0.059489</td>\n",
              "      <td>-0.124017</td>\n",
              "      <td>-0.234554</td>\n",
              "      <td>0.381857</td>\n",
              "      <td>-0.445966</td>\n",
              "      <td>-0.121627</td>\n",
              "      <td>0.382500</td>\n",
              "      <td>-0.253044</td>\n",
              "      <td>-0.061906</td>\n",
              "      <td>-0.280201</td>\n",
              "      <td>1.683886</td>\n",
              "      <td>0.369114</td>\n",
              "      <td>-0.061391</td>\n",
              "      <td>-0.071464</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>-0.248374</td>\n",
              "      <td>-0.218983</td>\n",
              "      <td>-0.784726</td>\n",
              "      <td>-0.593704</td>\n",
              "      <td>1.147770</td>\n",
              "      <td>0.023220</td>\n",
              "      <td>0.095660</td>\n",
              "      <td>-0.953652</td>\n",
              "      <td>1.356774</td>\n",
              "      <td>-0.427180</td>\n",
              "      <td>-0.530058</td>\n",
              "      <td>-0.766577</td>\n",
              "      <td>0.545994</td>\n",
              "      <td>0.167234</td>\n",
              "      <td>-0.324808</td>\n",
              "      <td>-0.668764</td>\n",
              "      <td>-0.207123</td>\n",
              "      <td>-0.418613</td>\n",
              "      <td>0.311895</td>\n",
              "      <td>0.082977</td>\n",
              "      <td>-0.942546</td>\n",
              "      <td>0.326792</td>\n",
              "      <td>-0.123100</td>\n",
              "      <td>1.035103</td>\n",
              "      <td>0.442711</td>\n",
              "      <td>0.321313</td>\n",
              "      <td>0.260159</td>\n",
              "      <td>0.161752</td>\n",
              "      <td>-0.653465</td>\n",
              "      <td>1.138607</td>\n",
              "      <td>-0.334309</td>\n",
              "      <td>-0.101767</td>\n",
              "      <td>0.381816</td>\n",
              "      <td>0.111046</td>\n",
              "      <td>-0.066623</td>\n",
              "      <td>1.274009</td>\n",
              "      <td>0.387225</td>\n",
              "      <td>0.030632</td>\n",
              "      <td>0.660716</td>\n",
              "      <td>0.925087</td>\n",
              "      <td>...</td>\n",
              "      <td>0.325309</td>\n",
              "      <td>-0.361140</td>\n",
              "      <td>0.315072</td>\n",
              "      <td>-0.062287</td>\n",
              "      <td>-0.351336</td>\n",
              "      <td>0.217062</td>\n",
              "      <td>-0.919611</td>\n",
              "      <td>-0.416872</td>\n",
              "      <td>-0.206933</td>\n",
              "      <td>0.725789</td>\n",
              "      <td>-0.272595</td>\n",
              "      <td>-0.156145</td>\n",
              "      <td>0.928169</td>\n",
              "      <td>1.190146</td>\n",
              "      <td>0.525851</td>\n",
              "      <td>-0.167361</td>\n",
              "      <td>-0.710153</td>\n",
              "      <td>0.788994</td>\n",
              "      <td>-1.088127</td>\n",
              "      <td>0.545343</td>\n",
              "      <td>1.018182</td>\n",
              "      <td>0.055636</td>\n",
              "      <td>-1.130888</td>\n",
              "      <td>-0.019745</td>\n",
              "      <td>0.754385</td>\n",
              "      <td>-0.353050</td>\n",
              "      <td>-0.670044</td>\n",
              "      <td>0.891854</td>\n",
              "      <td>-0.557710</td>\n",
              "      <td>-0.177769</td>\n",
              "      <td>-1.028671</td>\n",
              "      <td>-0.342752</td>\n",
              "      <td>-0.799658</td>\n",
              "      <td>0.052376</td>\n",
              "      <td>-0.883920</td>\n",
              "      <td>-0.313136</td>\n",
              "      <td>-0.394877</td>\n",
              "      <td>0.741146</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>-0.204622</td>\n",
              "      <td>-0.484248</td>\n",
              "      <td>-0.732612</td>\n",
              "      <td>0.275957</td>\n",
              "      <td>0.471215</td>\n",
              "      <td>0.073467</td>\n",
              "      <td>0.497068</td>\n",
              "      <td>-0.904281</td>\n",
              "      <td>-1.605590</td>\n",
              "      <td>-0.668992</td>\n",
              "      <td>0.835571</td>\n",
              "      <td>-0.660801</td>\n",
              "      <td>0.076708</td>\n",
              "      <td>1.915383</td>\n",
              "      <td>0.351461</td>\n",
              "      <td>-0.662171</td>\n",
              "      <td>0.680130</td>\n",
              "      <td>-1.029940</td>\n",
              "      <td>0.284061</td>\n",
              "      <td>-0.761202</td>\n",
              "      <td>-0.663740</td>\n",
              "      <td>-1.056454</td>\n",
              "      <td>-0.343305</td>\n",
              "      <td>0.574852</td>\n",
              "      <td>0.764908</td>\n",
              "      <td>-0.247111</td>\n",
              "      <td>0.409610</td>\n",
              "      <td>0.430698</td>\n",
              "      <td>-1.319610</td>\n",
              "      <td>0.436422</td>\n",
              "      <td>-0.234470</td>\n",
              "      <td>0.419508</td>\n",
              "      <td>0.121124</td>\n",
              "      <td>-0.401447</td>\n",
              "      <td>-0.716405</td>\n",
              "      <td>-1.051661</td>\n",
              "      <td>0.530521</td>\n",
              "      <td>0.337924</td>\n",
              "      <td>-1.012575</td>\n",
              "      <td>-0.064082</td>\n",
              "      <td>...</td>\n",
              "      <td>0.076826</td>\n",
              "      <td>-0.635222</td>\n",
              "      <td>-0.556684</td>\n",
              "      <td>-0.228781</td>\n",
              "      <td>-0.278833</td>\n",
              "      <td>0.887008</td>\n",
              "      <td>-0.332633</td>\n",
              "      <td>-0.767181</td>\n",
              "      <td>0.344229</td>\n",
              "      <td>0.854492</td>\n",
              "      <td>1.427894</td>\n",
              "      <td>-0.567931</td>\n",
              "      <td>0.493857</td>\n",
              "      <td>-0.442764</td>\n",
              "      <td>0.487027</td>\n",
              "      <td>0.250618</td>\n",
              "      <td>-0.310737</td>\n",
              "      <td>1.045621</td>\n",
              "      <td>0.383705</td>\n",
              "      <td>0.190902</td>\n",
              "      <td>0.817357</td>\n",
              "      <td>-0.621837</td>\n",
              "      <td>-1.769949</td>\n",
              "      <td>-0.745834</td>\n",
              "      <td>-0.638200</td>\n",
              "      <td>0.393691</td>\n",
              "      <td>0.297210</td>\n",
              "      <td>0.084747</td>\n",
              "      <td>-0.735879</td>\n",
              "      <td>-0.543804</td>\n",
              "      <td>-1.393754</td>\n",
              "      <td>-1.021259</td>\n",
              "      <td>0.801925</td>\n",
              "      <td>-0.419522</td>\n",
              "      <td>0.898904</td>\n",
              "      <td>-0.391650</td>\n",
              "      <td>0.088145</td>\n",
              "      <td>0.047161</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.041501</td>\n",
              "      <td>0.722250</td>\n",
              "      <td>0.075888</td>\n",
              "      <td>0.485219</td>\n",
              "      <td>0.052402</td>\n",
              "      <td>-0.000331</td>\n",
              "      <td>0.575877</td>\n",
              "      <td>-0.414607</td>\n",
              "      <td>1.207511</td>\n",
              "      <td>-0.053549</td>\n",
              "      <td>-0.150645</td>\n",
              "      <td>0.876221</td>\n",
              "      <td>-0.437835</td>\n",
              "      <td>1.793088</td>\n",
              "      <td>0.008185</td>\n",
              "      <td>-0.156190</td>\n",
              "      <td>-0.854152</td>\n",
              "      <td>-0.404375</td>\n",
              "      <td>0.952931</td>\n",
              "      <td>1.199941</td>\n",
              "      <td>-0.733764</td>\n",
              "      <td>0.695882</td>\n",
              "      <td>0.126193</td>\n",
              "      <td>0.091031</td>\n",
              "      <td>1.174719</td>\n",
              "      <td>-0.076282</td>\n",
              "      <td>0.488973</td>\n",
              "      <td>-0.461731</td>\n",
              "      <td>-0.204821</td>\n",
              "      <td>-0.520779</td>\n",
              "      <td>-0.139238</td>\n",
              "      <td>0.479901</td>\n",
              "      <td>-0.803969</td>\n",
              "      <td>-0.378926</td>\n",
              "      <td>1.979361</td>\n",
              "      <td>-0.052740</td>\n",
              "      <td>-0.020152</td>\n",
              "      <td>0.455714</td>\n",
              "      <td>0.718171</td>\n",
              "      <td>0.010564</td>\n",
              "      <td>...</td>\n",
              "      <td>0.993646</td>\n",
              "      <td>0.523448</td>\n",
              "      <td>-0.659795</td>\n",
              "      <td>-0.436314</td>\n",
              "      <td>-0.001658</td>\n",
              "      <td>0.815864</td>\n",
              "      <td>-0.058772</td>\n",
              "      <td>-0.983259</td>\n",
              "      <td>-0.923401</td>\n",
              "      <td>-0.111849</td>\n",
              "      <td>-0.288736</td>\n",
              "      <td>-0.057237</td>\n",
              "      <td>0.978343</td>\n",
              "      <td>0.805278</td>\n",
              "      <td>0.265515</td>\n",
              "      <td>0.485830</td>\n",
              "      <td>-0.681778</td>\n",
              "      <td>0.123266</td>\n",
              "      <td>-0.469058</td>\n",
              "      <td>0.682395</td>\n",
              "      <td>1.624950</td>\n",
              "      <td>0.500524</td>\n",
              "      <td>0.006724</td>\n",
              "      <td>-0.470188</td>\n",
              "      <td>0.145615</td>\n",
              "      <td>0.019362</td>\n",
              "      <td>1.157897</td>\n",
              "      <td>0.022075</td>\n",
              "      <td>-1.031454</td>\n",
              "      <td>-0.652307</td>\n",
              "      <td>0.118689</td>\n",
              "      <td>1.250860</td>\n",
              "      <td>0.643751</td>\n",
              "      <td>0.165138</td>\n",
              "      <td>1.584227</td>\n",
              "      <td>0.424471</td>\n",
              "      <td>-1.077421</td>\n",
              "      <td>0.588641</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6359</th>\n",
              "      <td>-0.259379</td>\n",
              "      <td>-0.221607</td>\n",
              "      <td>-0.339080</td>\n",
              "      <td>-0.323043</td>\n",
              "      <td>0.842697</td>\n",
              "      <td>0.984898</td>\n",
              "      <td>0.680005</td>\n",
              "      <td>-0.904366</td>\n",
              "      <td>1.019709</td>\n",
              "      <td>0.273049</td>\n",
              "      <td>-0.115320</td>\n",
              "      <td>-0.153875</td>\n",
              "      <td>-0.298362</td>\n",
              "      <td>0.657424</td>\n",
              "      <td>0.273417</td>\n",
              "      <td>-0.491557</td>\n",
              "      <td>0.030189</td>\n",
              "      <td>0.037475</td>\n",
              "      <td>0.455460</td>\n",
              "      <td>2.053050</td>\n",
              "      <td>-0.689013</td>\n",
              "      <td>0.087961</td>\n",
              "      <td>0.154070</td>\n",
              "      <td>-0.678463</td>\n",
              "      <td>1.188715</td>\n",
              "      <td>-0.157995</td>\n",
              "      <td>0.831402</td>\n",
              "      <td>0.467601</td>\n",
              "      <td>-0.358453</td>\n",
              "      <td>-1.076706</td>\n",
              "      <td>-0.990477</td>\n",
              "      <td>-0.383871</td>\n",
              "      <td>-0.343232</td>\n",
              "      <td>-0.618203</td>\n",
              "      <td>1.618810</td>\n",
              "      <td>-0.733108</td>\n",
              "      <td>0.078856</td>\n",
              "      <td>-0.839664</td>\n",
              "      <td>0.885130</td>\n",
              "      <td>-0.230252</td>\n",
              "      <td>...</td>\n",
              "      <td>0.039316</td>\n",
              "      <td>-0.587473</td>\n",
              "      <td>0.268945</td>\n",
              "      <td>0.143146</td>\n",
              "      <td>1.006930</td>\n",
              "      <td>1.233581</td>\n",
              "      <td>0.023665</td>\n",
              "      <td>-0.586818</td>\n",
              "      <td>-0.953867</td>\n",
              "      <td>0.377447</td>\n",
              "      <td>-0.164413</td>\n",
              "      <td>0.298079</td>\n",
              "      <td>1.514529</td>\n",
              "      <td>-0.292006</td>\n",
              "      <td>-0.279272</td>\n",
              "      <td>-0.688664</td>\n",
              "      <td>-0.970657</td>\n",
              "      <td>0.658444</td>\n",
              "      <td>0.292012</td>\n",
              "      <td>0.336835</td>\n",
              "      <td>1.821174</td>\n",
              "      <td>0.229701</td>\n",
              "      <td>-1.160869</td>\n",
              "      <td>-0.362530</td>\n",
              "      <td>-0.249232</td>\n",
              "      <td>-0.232964</td>\n",
              "      <td>-0.357915</td>\n",
              "      <td>0.572070</td>\n",
              "      <td>-0.926889</td>\n",
              "      <td>0.162496</td>\n",
              "      <td>-0.736938</td>\n",
              "      <td>0.817213</td>\n",
              "      <td>0.590526</td>\n",
              "      <td>0.090501</td>\n",
              "      <td>0.888311</td>\n",
              "      <td>0.510675</td>\n",
              "      <td>-0.149976</td>\n",
              "      <td>0.348883</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6360</th>\n",
              "      <td>0.485211</td>\n",
              "      <td>0.167918</td>\n",
              "      <td>0.424397</td>\n",
              "      <td>-1.021024</td>\n",
              "      <td>0.536350</td>\n",
              "      <td>-0.157477</td>\n",
              "      <td>-0.075483</td>\n",
              "      <td>-0.779515</td>\n",
              "      <td>-0.773974</td>\n",
              "      <td>-0.009961</td>\n",
              "      <td>-0.854069</td>\n",
              "      <td>-1.825934</td>\n",
              "      <td>-0.005227</td>\n",
              "      <td>2.303941</td>\n",
              "      <td>-1.361309</td>\n",
              "      <td>-2.597118</td>\n",
              "      <td>0.447520</td>\n",
              "      <td>-0.310968</td>\n",
              "      <td>-1.125437</td>\n",
              "      <td>1.189774</td>\n",
              "      <td>-0.114713</td>\n",
              "      <td>0.346483</td>\n",
              "      <td>-0.929786</td>\n",
              "      <td>0.512103</td>\n",
              "      <td>0.183371</td>\n",
              "      <td>-0.129662</td>\n",
              "      <td>0.421311</td>\n",
              "      <td>-0.653632</td>\n",
              "      <td>-0.398258</td>\n",
              "      <td>-0.282517</td>\n",
              "      <td>0.003940</td>\n",
              "      <td>0.184763</td>\n",
              "      <td>-0.752703</td>\n",
              "      <td>0.259627</td>\n",
              "      <td>0.512092</td>\n",
              "      <td>-0.056104</td>\n",
              "      <td>0.865360</td>\n",
              "      <td>-1.357324</td>\n",
              "      <td>0.637903</td>\n",
              "      <td>0.208297</td>\n",
              "      <td>...</td>\n",
              "      <td>0.053560</td>\n",
              "      <td>0.851597</td>\n",
              "      <td>-0.971591</td>\n",
              "      <td>0.573314</td>\n",
              "      <td>1.195814</td>\n",
              "      <td>0.788547</td>\n",
              "      <td>-0.229991</td>\n",
              "      <td>-1.091514</td>\n",
              "      <td>0.061132</td>\n",
              "      <td>1.951761</td>\n",
              "      <td>-0.393295</td>\n",
              "      <td>-0.093025</td>\n",
              "      <td>1.369683</td>\n",
              "      <td>0.029670</td>\n",
              "      <td>0.122350</td>\n",
              "      <td>0.200424</td>\n",
              "      <td>-0.539016</td>\n",
              "      <td>0.732569</td>\n",
              "      <td>-0.628674</td>\n",
              "      <td>-0.926430</td>\n",
              "      <td>1.190152</td>\n",
              "      <td>-0.098455</td>\n",
              "      <td>-0.664707</td>\n",
              "      <td>-0.165218</td>\n",
              "      <td>0.070286</td>\n",
              "      <td>0.351380</td>\n",
              "      <td>0.764753</td>\n",
              "      <td>-0.456172</td>\n",
              "      <td>0.891174</td>\n",
              "      <td>-1.293697</td>\n",
              "      <td>-0.573482</td>\n",
              "      <td>-0.254702</td>\n",
              "      <td>-0.683293</td>\n",
              "      <td>-0.876700</td>\n",
              "      <td>0.256585</td>\n",
              "      <td>1.476970</td>\n",
              "      <td>0.156939</td>\n",
              "      <td>0.032512</td>\n",
              "      <td>7</td>\n",
              "      <td>1.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6361</th>\n",
              "      <td>0.059558</td>\n",
              "      <td>-0.973219</td>\n",
              "      <td>-0.801935</td>\n",
              "      <td>0.520850</td>\n",
              "      <td>-0.699866</td>\n",
              "      <td>0.106082</td>\n",
              "      <td>0.443277</td>\n",
              "      <td>-0.363338</td>\n",
              "      <td>0.074838</td>\n",
              "      <td>-0.444857</td>\n",
              "      <td>0.809004</td>\n",
              "      <td>0.953111</td>\n",
              "      <td>0.382484</td>\n",
              "      <td>0.897179</td>\n",
              "      <td>0.784623</td>\n",
              "      <td>-0.135373</td>\n",
              "      <td>-0.257463</td>\n",
              "      <td>0.469915</td>\n",
              "      <td>0.338909</td>\n",
              "      <td>1.749006</td>\n",
              "      <td>-0.081579</td>\n",
              "      <td>-0.826211</td>\n",
              "      <td>-0.663350</td>\n",
              "      <td>-0.258887</td>\n",
              "      <td>1.156303</td>\n",
              "      <td>-0.699503</td>\n",
              "      <td>0.592126</td>\n",
              "      <td>-0.638592</td>\n",
              "      <td>-0.563636</td>\n",
              "      <td>-1.913068</td>\n",
              "      <td>-0.365137</td>\n",
              "      <td>0.465241</td>\n",
              "      <td>-0.276749</td>\n",
              "      <td>-0.705425</td>\n",
              "      <td>0.437405</td>\n",
              "      <td>0.276908</td>\n",
              "      <td>0.567930</td>\n",
              "      <td>0.083106</td>\n",
              "      <td>0.937286</td>\n",
              "      <td>0.189333</td>\n",
              "      <td>...</td>\n",
              "      <td>0.335296</td>\n",
              "      <td>0.806527</td>\n",
              "      <td>-0.161724</td>\n",
              "      <td>-0.838253</td>\n",
              "      <td>-0.126803</td>\n",
              "      <td>-0.210211</td>\n",
              "      <td>0.117675</td>\n",
              "      <td>-0.030360</td>\n",
              "      <td>-0.676553</td>\n",
              "      <td>1.281553</td>\n",
              "      <td>-0.433521</td>\n",
              "      <td>-0.916384</td>\n",
              "      <td>0.411866</td>\n",
              "      <td>-0.356720</td>\n",
              "      <td>-0.458150</td>\n",
              "      <td>-0.348927</td>\n",
              "      <td>-0.521093</td>\n",
              "      <td>0.874649</td>\n",
              "      <td>-0.055719</td>\n",
              "      <td>0.630041</td>\n",
              "      <td>1.741207</td>\n",
              "      <td>-0.693301</td>\n",
              "      <td>-1.235087</td>\n",
              "      <td>-0.232825</td>\n",
              "      <td>-0.092446</td>\n",
              "      <td>0.383571</td>\n",
              "      <td>-0.738278</td>\n",
              "      <td>-0.874110</td>\n",
              "      <td>-0.631783</td>\n",
              "      <td>-0.242414</td>\n",
              "      <td>-0.936883</td>\n",
              "      <td>-0.112914</td>\n",
              "      <td>0.058389</td>\n",
              "      <td>0.226664</td>\n",
              "      <td>0.177798</td>\n",
              "      <td>0.195321</td>\n",
              "      <td>0.088208</td>\n",
              "      <td>0.196619</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6362</th>\n",
              "      <td>-0.785804</td>\n",
              "      <td>-0.782371</td>\n",
              "      <td>-0.041329</td>\n",
              "      <td>-0.447875</td>\n",
              "      <td>-0.033846</td>\n",
              "      <td>-0.079014</td>\n",
              "      <td>0.769762</td>\n",
              "      <td>-0.515850</td>\n",
              "      <td>-0.946079</td>\n",
              "      <td>0.218225</td>\n",
              "      <td>0.231895</td>\n",
              "      <td>0.085505</td>\n",
              "      <td>0.188048</td>\n",
              "      <td>1.978600</td>\n",
              "      <td>1.187264</td>\n",
              "      <td>-0.594810</td>\n",
              "      <td>-0.965279</td>\n",
              "      <td>-0.978748</td>\n",
              "      <td>2.012781</td>\n",
              "      <td>0.811507</td>\n",
              "      <td>-0.246230</td>\n",
              "      <td>0.409007</td>\n",
              "      <td>-1.643886</td>\n",
              "      <td>-0.119930</td>\n",
              "      <td>0.424816</td>\n",
              "      <td>0.122372</td>\n",
              "      <td>0.089377</td>\n",
              "      <td>0.141698</td>\n",
              "      <td>-0.381848</td>\n",
              "      <td>1.029480</td>\n",
              "      <td>-0.151361</td>\n",
              "      <td>0.238920</td>\n",
              "      <td>0.479749</td>\n",
              "      <td>-0.619760</td>\n",
              "      <td>0.218889</td>\n",
              "      <td>-0.314542</td>\n",
              "      <td>0.556371</td>\n",
              "      <td>-0.737423</td>\n",
              "      <td>1.280926</td>\n",
              "      <td>-0.222255</td>\n",
              "      <td>...</td>\n",
              "      <td>-0.277846</td>\n",
              "      <td>-0.436581</td>\n",
              "      <td>-0.818727</td>\n",
              "      <td>-1.771804</td>\n",
              "      <td>-0.277699</td>\n",
              "      <td>-0.152829</td>\n",
              "      <td>-0.461810</td>\n",
              "      <td>-1.345754</td>\n",
              "      <td>0.110968</td>\n",
              "      <td>0.788758</td>\n",
              "      <td>-0.382562</td>\n",
              "      <td>-0.667999</td>\n",
              "      <td>1.262336</td>\n",
              "      <td>0.167532</td>\n",
              "      <td>0.219112</td>\n",
              "      <td>1.323430</td>\n",
              "      <td>-0.250028</td>\n",
              "      <td>0.490186</td>\n",
              "      <td>0.033599</td>\n",
              "      <td>0.689189</td>\n",
              "      <td>0.871188</td>\n",
              "      <td>-0.020801</td>\n",
              "      <td>-0.738646</td>\n",
              "      <td>-0.007333</td>\n",
              "      <td>0.099441</td>\n",
              "      <td>0.935204</td>\n",
              "      <td>0.754386</td>\n",
              "      <td>1.409426</td>\n",
              "      <td>-0.591914</td>\n",
              "      <td>-0.916966</td>\n",
              "      <td>-1.033630</td>\n",
              "      <td>-0.688533</td>\n",
              "      <td>0.651510</td>\n",
              "      <td>0.485623</td>\n",
              "      <td>0.720506</td>\n",
              "      <td>-1.155099</td>\n",
              "      <td>0.051625</td>\n",
              "      <td>0.853285</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6363</th>\n",
              "      <td>-0.323647</td>\n",
              "      <td>-1.039698</td>\n",
              "      <td>-0.296279</td>\n",
              "      <td>-1.093598</td>\n",
              "      <td>0.205054</td>\n",
              "      <td>0.160146</td>\n",
              "      <td>1.450832</td>\n",
              "      <td>0.396104</td>\n",
              "      <td>-1.247224</td>\n",
              "      <td>-0.357012</td>\n",
              "      <td>-0.717372</td>\n",
              "      <td>-0.498803</td>\n",
              "      <td>-0.311789</td>\n",
              "      <td>1.389676</td>\n",
              "      <td>0.482707</td>\n",
              "      <td>0.110748</td>\n",
              "      <td>0.942461</td>\n",
              "      <td>-1.045330</td>\n",
              "      <td>0.576528</td>\n",
              "      <td>0.389670</td>\n",
              "      <td>-1.366835</td>\n",
              "      <td>0.234233</td>\n",
              "      <td>-0.842803</td>\n",
              "      <td>-0.345563</td>\n",
              "      <td>0.680632</td>\n",
              "      <td>0.407880</td>\n",
              "      <td>0.186426</td>\n",
              "      <td>-0.555304</td>\n",
              "      <td>-0.244237</td>\n",
              "      <td>1.945000</td>\n",
              "      <td>-0.078674</td>\n",
              "      <td>-0.155328</td>\n",
              "      <td>-0.385786</td>\n",
              "      <td>-0.125972</td>\n",
              "      <td>0.521064</td>\n",
              "      <td>-0.162818</td>\n",
              "      <td>0.106995</td>\n",
              "      <td>-0.446504</td>\n",
              "      <td>0.757013</td>\n",
              "      <td>-0.027922</td>\n",
              "      <td>...</td>\n",
              "      <td>1.229946</td>\n",
              "      <td>0.341031</td>\n",
              "      <td>-0.136808</td>\n",
              "      <td>-1.506189</td>\n",
              "      <td>0.639384</td>\n",
              "      <td>0.922689</td>\n",
              "      <td>-0.572909</td>\n",
              "      <td>-0.714015</td>\n",
              "      <td>-0.281224</td>\n",
              "      <td>0.728706</td>\n",
              "      <td>-0.647951</td>\n",
              "      <td>-0.148555</td>\n",
              "      <td>0.338135</td>\n",
              "      <td>0.273985</td>\n",
              "      <td>0.352767</td>\n",
              "      <td>-0.070111</td>\n",
              "      <td>-0.819324</td>\n",
              "      <td>0.536291</td>\n",
              "      <td>-0.076866</td>\n",
              "      <td>0.353561</td>\n",
              "      <td>1.900926</td>\n",
              "      <td>0.723057</td>\n",
              "      <td>-0.883577</td>\n",
              "      <td>-0.690553</td>\n",
              "      <td>0.101397</td>\n",
              "      <td>-0.132650</td>\n",
              "      <td>-0.234003</td>\n",
              "      <td>0.390280</td>\n",
              "      <td>-1.840615</td>\n",
              "      <td>-0.441127</td>\n",
              "      <td>-1.594774</td>\n",
              "      <td>-0.899590</td>\n",
              "      <td>0.202235</td>\n",
              "      <td>0.168053</td>\n",
              "      <td>1.066248</td>\n",
              "      <td>-0.315049</td>\n",
              "      <td>0.259721</td>\n",
              "      <td>1.001859</td>\n",
              "      <td>9</td>\n",
              "      <td>2.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>6364 rows × 770 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "             0         1         2  ...       767  product  Sentiment\n",
              "0    -0.213891 -0.078238  0.425071  ...  0.726099        9        2.0\n",
              "1     0.346897  0.472381  0.174338  ... -0.071464        9        2.0\n",
              "2    -0.248374 -0.218983 -0.784726  ...  0.741146        9        2.0\n",
              "3    -0.204622 -0.484248 -0.732612  ...  0.047161        9        2.0\n",
              "4     0.041501  0.722250  0.075888  ...  0.588641        9        2.0\n",
              "...        ...       ...       ...  ...       ...      ...        ...\n",
              "6359 -0.259379 -0.221607 -0.339080  ...  0.348883        9        2.0\n",
              "6360  0.485211  0.167918  0.424397  ...  0.032512        7        1.0\n",
              "6361  0.059558 -0.973219 -0.801935  ...  0.196619        9        2.0\n",
              "6362 -0.785804 -0.782371 -0.041329  ...  0.853285        9        2.0\n",
              "6363 -0.323647 -1.039698 -0.296279  ...  1.001859        9        2.0\n",
              "\n",
              "[6364 rows x 770 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 139
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "IwC_mDMeiRXb",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "56053c81-b05b-42cb-c57f-a59bd137ec4b"
      },
      "source": [
        "X = train.drop([\"Sentiment\"],axis=1)\n",
        "Y = train[['Sentiment']]\n",
        "\n",
        "params = {\n",
        "    \"od_type\":\"Iter\",\n",
        "    \"od_wait\":150,\n",
        "    \"iterations\":25000,\n",
        "    'learning_rate':0.0355,\n",
        "    \"eval_metric\":\"Accuracy\",\n",
        "    \"task_type\":\"GPU\",\n",
        "    # \"boosting_type\":\"Plain\"\n",
        "}\n",
        "\n",
        "best_score = np.inf\n",
        "scores = []\n",
        "\n",
        "folds_base = KFold(n_splits=5,shuffle=True,random_state=1250)\n",
        "\n",
        "for train_idx , test_idx in folds_base.split(X,Y):\n",
        "  train_set = (X.iloc[train_idx],Y.iloc[train_idx])\n",
        "  test_set = (X.iloc[test_idx],Y.iloc[test_idx])\n",
        "\n",
        "  model = CatBoostClassifier(**params)\n",
        "  model.fit(*train_set,\n",
        "            cat_features = ['product'],\n",
        "            eval_set=[test_set],early_stopping_rounds=500,verbose=200)\n",
        "\n",
        "  score = log_loss(test_set[1].values,model.predict_proba(test_set[0]))\n",
        "  print(score)\n",
        "  scores.append(score)\n",
        "  \n",
        "\n",
        "  if score < best_score:\n",
        "    best_score = score\n",
        "    best_model = model\n",
        "\n",
        "  print(\"---\"*50)\n",
        "\n",
        "print(f\"Mean Score : {np.array(scores).mean()}\")\n",
        "print(f\"Min Score : {np.array(scores).min()}\")\n",
        "print(f\"Max Score : {np.array(scores).max()}\")\n",
        "\n",
        "plt.plot(scores)\n",
        "plt.plot(np.arange(len(scores)),[np.array(scores).mean()]*len(scores),)\n",
        "plt.show()\n",
        "\n",
        "model_base = best_model"
      ],
      "execution_count": 140,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8752701\ttest: 0.8750982\tbest: 0.8750982 (0)\ttotal: 48.5ms\tremaining: 20m 11s\n",
            "200:\tlearn: 0.9027696\ttest: 0.8860958\tbest: 0.8860958 (185)\ttotal: 5.93s\tremaining: 12m 11s\n",
            "400:\tlearn: 0.9092516\ttest: 0.8876669\tbest: 0.8876669 (384)\ttotal: 11.3s\tremaining: 11m 33s\n",
            "600:\tlearn: 0.9159301\ttest: 0.8884525\tbest: 0.8884525 (478)\ttotal: 16.7s\tremaining: 11m 16s\n",
            "800:\tlearn: 0.9245728\ttest: 0.8868814\tbest: 0.8884525 (478)\ttotal: 22.1s\tremaining: 11m 8s\n",
            "1000:\tlearn: 0.9334119\ttest: 0.8892380\tbest: 0.8892380 (960)\ttotal: 27.4s\tremaining: 10m 57s\n",
            "1200:\tlearn: 0.9457867\ttest: 0.8884525\tbest: 0.8900236 (1171)\ttotal: 32.8s\tremaining: 10m 49s\n",
            "1400:\tlearn: 0.9567865\ttest: 0.8900236\tbest: 0.8900236 (1171)\ttotal: 38.1s\tremaining: 10m 41s\n",
            "1600:\tlearn: 0.9675899\ttest: 0.8900236\tbest: 0.8900236 (1171)\ttotal: 43.4s\tremaining: 10m 34s\n",
            "1800:\tlearn: 0.9768218\ttest: 0.8915947\tbest: 0.8915947 (1749)\ttotal: 48.7s\tremaining: 10m 27s\n",
            "2000:\tlearn: 0.9821253\ttest: 0.8908091\tbest: 0.8923802 (1834)\ttotal: 54.1s\tremaining: 10m 21s\n",
            "2200:\tlearn: 0.9899823\ttest: 0.8900236\tbest: 0.8923802 (1834)\ttotal: 59.5s\tremaining: 10m 16s\n",
            "bestTest = 0.8923802042\n",
            "bestIteration = 1834\n",
            "Shrink model to first 1835 iterations.\n",
            "0.3936983065438891\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8760558\ttest: 0.8750982\tbest: 0.8750982 (0)\ttotal: 30ms\tremaining: 12m 29s\n",
            "200:\tlearn: 0.9033589\ttest: 0.8908091\tbest: 0.8915947 (14)\ttotal: 5.7s\tremaining: 11m 43s\n",
            "400:\tlearn: 0.9110194\ttest: 0.8900236\tbest: 0.8915947 (14)\ttotal: 11.1s\tremaining: 11m 21s\n",
            "600:\tlearn: 0.9167158\ttest: 0.8915947\tbest: 0.8923802 (494)\ttotal: 16.4s\tremaining: 11m 5s\n",
            "800:\tlearn: 0.9228049\ttest: 0.8931658\tbest: 0.8931658 (618)\ttotal: 21.7s\tremaining: 10m 54s\n",
            "1000:\tlearn: 0.9322334\ttest: 0.8939513\tbest: 0.8939513 (896)\ttotal: 26.9s\tremaining: 10m 44s\n",
            "1200:\tlearn: 0.9426439\ttest: 0.8939513\tbest: 0.8939513 (896)\ttotal: 32.3s\tremaining: 10m 39s\n",
            "bestTest = 0.8939512962\n",
            "bestIteration = 896\n",
            "Shrink model to first 897 iterations.\n",
            "0.3678572090096642\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8784129\ttest: 0.8711705\tbest: 0.8711705 (0)\ttotal: 31ms\tremaining: 12m 56s\n",
            "200:\tlearn: 0.9039481\ttest: 0.8805970\tbest: 0.8805970 (175)\ttotal: 5.76s\tremaining: 11m 50s\n",
            "400:\tlearn: 0.9106266\ttest: 0.8837392\tbest: 0.8845247 (325)\ttotal: 11.1s\tremaining: 11m 21s\n",
            "600:\tlearn: 0.9155372\ttest: 0.8845247\tbest: 0.8853103 (438)\ttotal: 16.5s\tremaining: 11m 9s\n",
            "800:\tlearn: 0.9239835\ttest: 0.8853103\tbest: 0.8853103 (438)\ttotal: 21.8s\tremaining: 10m 59s\n",
            "bestTest = 0.8853102907\n",
            "bestIteration = 438\n",
            "Shrink model to first 439 iterations.\n",
            "0.40344836051621713\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8801807\ttest: 0.8554595\tbest: 0.8554595 (0)\ttotal: 29.2ms\tremaining: 12m 10s\n",
            "200:\tlearn: 0.9025732\ttest: 0.8766693\tbest: 0.8766693 (198)\ttotal: 5.86s\tremaining: 12m 3s\n",
            "400:\tlearn: 0.9094480\ttest: 0.8782404\tbest: 0.8790259 (397)\ttotal: 11.2s\tremaining: 11m 27s\n",
            "600:\tlearn: 0.9153408\ttest: 0.8782404\tbest: 0.8790259 (397)\ttotal: 16.5s\tremaining: 11m 7s\n",
            "800:\tlearn: 0.9255549\ttest: 0.8782404\tbest: 0.8798115 (663)\ttotal: 21.7s\tremaining: 10m 55s\n",
            "1000:\tlearn: 0.9338048\ttest: 0.8798115\tbest: 0.8805970 (944)\ttotal: 27.2s\tremaining: 10m 51s\n",
            "1200:\tlearn: 0.9451974\ttest: 0.8790259\tbest: 0.8805970 (944)\ttotal: 32.6s\tremaining: 10m 45s\n",
            "1400:\tlearn: 0.9556079\ttest: 0.8821681\tbest: 0.8829537 (1324)\ttotal: 38s\tremaining: 10m 40s\n",
            "1600:\tlearn: 0.9681791\ttest: 0.8829537\tbest: 0.8837392 (1590)\ttotal: 43.3s\tremaining: 10m 32s\n",
            "1800:\tlearn: 0.9744647\ttest: 0.8829537\tbest: 0.8837392 (1590)\ttotal: 48.8s\tremaining: 10m 27s\n",
            "2000:\tlearn: 0.9836967\ttest: 0.8821681\tbest: 0.8837392 (1590)\ttotal: 54s\tremaining: 10m 21s\n",
            "bestTest = 0.8837391987\n",
            "bestIteration = 1590\n",
            "Shrink model to first 1591 iterations.\n",
            "0.4024440759051458\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "Warning: less than 75% gpu memory available for training. Free: 9535.875 Total: 15079.75\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "0:\tlearn: 0.8701885\ttest: 0.8970126\tbest: 0.8970126 (0)\ttotal: 58.2ms\tremaining: 24m 15s\n",
            "200:\tlearn: 0.8968971\ttest: 0.9111635\tbest: 0.9111635 (180)\ttotal: 5.75s\tremaining: 11m 49s\n",
            "400:\tlearn: 0.9035742\ttest: 0.9143082\tbest: 0.9143082 (354)\ttotal: 11.2s\tremaining: 11m 25s\n",
            "600:\tlearn: 0.9118225\ttest: 0.9143082\tbest: 0.9158805 (587)\ttotal: 16.4s\tremaining: 11m 6s\n",
            "800:\tlearn: 0.9188924\ttest: 0.9150943\tbest: 0.9158805 (587)\ttotal: 21.8s\tremaining: 10m 57s\n",
            "1000:\tlearn: 0.9291045\ttest: 0.9158805\tbest: 0.9158805 (587)\ttotal: 27.1s\tremaining: 10m 49s\n",
            "1200:\tlearn: 0.9408877\ttest: 0.9158805\tbest: 0.9166667 (1020)\ttotal: 32.4s\tremaining: 10m 42s\n",
            "1400:\tlearn: 0.9524745\ttest: 0.9150943\tbest: 0.9166667 (1020)\ttotal: 37.6s\tremaining: 10m 33s\n",
            "bestTest = 0.9166666667\n",
            "bestIteration = 1020\n",
            "Shrink model to first 1021 iterations.\n",
            "0.3146004438347051\n",
            "------------------------------------------------------------------------------------------------------------------------------------------------------\n",
            "Mean Score : 0.37640967916192425\n",
            "Min Score : 0.3146004438347051\n",
            "Max Score : 0.40344836051621713\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab_type": "code",
        "id": "KbmrHEzNiRXe",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 402
        },
        "outputId": "585f853e-4754-43c2-cb9d-66b54290b7e1"
      },
      "source": [
        "submission = pd.DataFrame(model_base.predict_proba(test))\n",
        "submission.columns = [f'Class_{i}' for i in submission.columns]\n",
        "submission.to_csv(\"submission_base.csv\",index=False)\n",
        "submission"
      ],
      "execution_count": 141,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Class_0</th>\n",
              "      <th>Class_1</th>\n",
              "      <th>Class_2</th>\n",
              "      <th>Class_3</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.003331</td>\n",
              "      <td>0.053303</td>\n",
              "      <td>0.035054</td>\n",
              "      <td>0.908312</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.014765</td>\n",
              "      <td>0.034395</td>\n",
              "      <td>0.921937</td>\n",
              "      <td>0.028903</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.012686</td>\n",
              "      <td>0.011713</td>\n",
              "      <td>0.921522</td>\n",
              "      <td>0.054080</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.000982</td>\n",
              "      <td>0.009741</td>\n",
              "      <td>0.007046</td>\n",
              "      <td>0.982230</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.009712</td>\n",
              "      <td>0.002058</td>\n",
              "      <td>0.972762</td>\n",
              "      <td>0.015468</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2723</th>\n",
              "      <td>0.023136</td>\n",
              "      <td>0.008710</td>\n",
              "      <td>0.924477</td>\n",
              "      <td>0.043676</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2724</th>\n",
              "      <td>0.014499</td>\n",
              "      <td>0.005872</td>\n",
              "      <td>0.938604</td>\n",
              "      <td>0.041025</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2725</th>\n",
              "      <td>0.000753</td>\n",
              "      <td>0.006368</td>\n",
              "      <td>0.020442</td>\n",
              "      <td>0.972437</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2726</th>\n",
              "      <td>0.007507</td>\n",
              "      <td>0.002819</td>\n",
              "      <td>0.958142</td>\n",
              "      <td>0.031532</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2727</th>\n",
              "      <td>0.032403</td>\n",
              "      <td>0.361183</td>\n",
              "      <td>0.058398</td>\n",
              "      <td>0.548016</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>2728 rows × 4 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "       Class_0   Class_1   Class_2   Class_3\n",
              "0     0.003331  0.053303  0.035054  0.908312\n",
              "1     0.014765  0.034395  0.921937  0.028903\n",
              "2     0.012686  0.011713  0.921522  0.054080\n",
              "3     0.000982  0.009741  0.007046  0.982230\n",
              "4     0.009712  0.002058  0.972762  0.015468\n",
              "...        ...       ...       ...       ...\n",
              "2723  0.023136  0.008710  0.924477  0.043676\n",
              "2724  0.014499  0.005872  0.938604  0.041025\n",
              "2725  0.000753  0.006368  0.020442  0.972437\n",
              "2726  0.007507  0.002819  0.958142  0.031532\n",
              "2727  0.032403  0.361183  0.058398  0.548016\n",
              "\n",
              "[2728 rows x 4 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 141
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "u7tjnmrYS6BI",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 402
        },
        "outputId": "c532f0ff-933f-4aed-bd98-f7adf9a5d4ef"
      },
      "source": [
        "base = pd.read_csv(\"submission_base.csv\")\n",
        "large = pd.read_csv(\"submission_large.csv\")\n",
        "\n",
        "final = (base+large)/2\n",
        "final.to_csv(\"final.csv\",index=False)\n",
        "final\n"
      ],
      "execution_count": 144,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Class_0</th>\n",
              "      <th>Class_1</th>\n",
              "      <th>Class_2</th>\n",
              "      <th>Class_3</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.003639</td>\n",
              "      <td>0.042686</td>\n",
              "      <td>0.036532</td>\n",
              "      <td>0.917143</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.019806</td>\n",
              "      <td>0.030456</td>\n",
              "      <td>0.914328</td>\n",
              "      <td>0.035411</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.017873</td>\n",
              "      <td>0.010563</td>\n",
              "      <td>0.917017</td>\n",
              "      <td>0.054546</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.000957</td>\n",
              "      <td>0.011040</td>\n",
              "      <td>0.006552</td>\n",
              "      <td>0.981451</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.011981</td>\n",
              "      <td>0.003515</td>\n",
              "      <td>0.964757</td>\n",
              "      <td>0.019747</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2723</th>\n",
              "      <td>0.021771</td>\n",
              "      <td>0.017199</td>\n",
              "      <td>0.927079</td>\n",
              "      <td>0.033951</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2724</th>\n",
              "      <td>0.010922</td>\n",
              "      <td>0.005457</td>\n",
              "      <td>0.944755</td>\n",
              "      <td>0.038866</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2725</th>\n",
              "      <td>0.001858</td>\n",
              "      <td>0.014451</td>\n",
              "      <td>0.025508</td>\n",
              "      <td>0.958183</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2726</th>\n",
              "      <td>0.011256</td>\n",
              "      <td>0.004639</td>\n",
              "      <td>0.949608</td>\n",
              "      <td>0.034498</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2727</th>\n",
              "      <td>0.030900</td>\n",
              "      <td>0.251274</td>\n",
              "      <td>0.055218</td>\n",
              "      <td>0.662608</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>2728 rows × 4 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "       Class_0   Class_1   Class_2   Class_3\n",
              "0     0.003639  0.042686  0.036532  0.917143\n",
              "1     0.019806  0.030456  0.914328  0.035411\n",
              "2     0.017873  0.010563  0.917017  0.054546\n",
              "3     0.000957  0.011040  0.006552  0.981451\n",
              "4     0.011981  0.003515  0.964757  0.019747\n",
              "...        ...       ...       ...       ...\n",
              "2723  0.021771  0.017199  0.927079  0.033951\n",
              "2724  0.010922  0.005457  0.944755  0.038866\n",
              "2725  0.001858  0.014451  0.025508  0.958183\n",
              "2726  0.011256  0.004639  0.949608  0.034498\n",
              "2727  0.030900  0.251274  0.055218  0.662608\n",
              "\n",
              "[2728 rows x 4 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 144
        }
      ]
    }
  ]
}